我想为在 Ubuntu 服务器 12.04.1 上运行的 Apache 反向代理站点添加基本身份验证。
Web 应用程序是在 Java EE 容器上运行的Jenkins 。
我在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/”的身份验证失败:密码不匹配 [2012 年 10 月 27 日星期六 17:52:04] [错误] [客户端222.128.175.95] 找不到用户阿拉丁:/jenkins/
在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"
有人知道如何使它工作吗?谢谢。