一尘不染

反向代理的Apache基本身份验证问题

jenkins

我想为在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]找不到用户Aladdin:/ jenkins /

passfile中
使用正确的用户名和密码时,不会记录任何消息。尽管我在网络浏览器中输入了正确的用户名和密码,但身份验证对话框将再次提示。我还在apache的
access.log 中找到以下输出,

222.128.175.95-kane [27 / Oct / 2012:17:39:54 +0800]“ GET / jenkins / HTTP /
1.1” 401794“-”“ Mozilla / 5.0(Macintosh; Intel Mac OS X 10_8_2)AppleWebKit /
537.4 (KHTML,例如Gecko)Chrome / 22.0.1229.94 Safari / 537.4“

有人知道如何使其工作吗?谢谢。


阅读 308

收藏
2020-07-25

共1个答案

一尘不染

您是否还在Jenkins上启用了身份验证?有关此设置的说明,请参见以下链接:https : //wiki.jenkins-
ci.org/display/JENKINS/Apache+frontend+for+security。

尤其要注意以下行:您不能同时在Jenkins和Apache中启用安全性,因为两者将发生冲突,从而导致出现无限的提示。不幸的是,您必须选择一个。

另请参阅此链接,以获取有关Apache + Jenkins设置的更一般性讨论:https : //wiki.jenkins-
ci.org/display/JENKINS/Running+Jenkins+behind+Apache

2020-07-25