【发布时间】:2012-10-17 10:27:40
【问题描述】:
我想为在 Ubuntu 服务器 12.04.1 上运行的 Apache 反向代理站点添加基本身份验证。
Web 应用程序是 Jenkins,它在 Java EE 容器上运行。
我在httpd.conf中添加了以下配置,
ProxyPass /jenkins/ http://localhost:8080/jenkins/¬
ProxyPassReverse /jenkins/ http://localhost:8080/jenkins/¬
ProxyRequests Off¬
ProxyPreserveHost On¬
¬
<Proxy http://localhost:8080/jenkins*>¬
Order deny,allow¬
Deny from all¬
▸ AllowOverride AuthConfig¬
▸ AuthType Basic¬
AuthName "jenkins"¬
▸ AuthBasicProvider file¬
AuthUserFile /etc/apache2/passfile¬
▸ Require valid-user¬
▸ Satisfy any¬
</Proxy>
当我使用错误的密码或不存在的用户名进行身份验证时,我可以在 apache 的 error.log 中找到以下消息,
[2012 年 10 月 27 日星期六 17:51:59] [错误] [客户端 222.128.175.95] 用户凯恩: “/jenkins/”的身份验证失败:密码不匹配 [10 月 27 日星期六 17:52:04 2012] [错误] [客户端 222.128.175.95] 找不到用户阿拉丁: /詹金斯/
在 passfile 中使用正确的用户名和密码时不会记录任何消息。虽然我在网络浏览器中输入了正确的用户名和密码,但身份验证对话框会再次提示。 我还在 apache 的 access.log 中找到了以下输出,
222.128.175.95 - kane [27/Oct/2012:17:39:54 +0800] "GET /jenkins/ HTTP/1.1" 401 794 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_2) AppleWebKit/537.4(KHTML,如 Gecko)Chrome/22.0.1229.94 Safari/537.4"
有人知道如何让它工作吗?谢谢。
【问题讨论】:
标签: apache authentication ubuntu jenkins reverse-proxy