当前位置: 首页 > 面试题库 >

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

李明贤
2023-03-14
问题内容

我想为在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“

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


问题答案:

您是否还在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



 类似资料:
  • 问题内容: 我一直在尝试使用Apaches HttpComponent的httpclient时从配置的属性中配置用于代理身份验证的用户和密码,但是没有成功。我发现的所有示例都引用了不再可用的方法和类,例如和。 因此,谁能给我一个有关如何配置代理凭据的示例? 问题答案: 对于Basic-Auth,它看起来像这样: 开箱即用不支持AFAIK NTLM。但是您也许可以使用过载来管理它。

  • 我已经成功地将Apache配置为通过SSL/443监听,并将代理Tomcat配置为通过HTTP/8080监听。我还在Apache中设置了基本身份验证。 一旦用户连接到我的Tomcat servlet,HttpServletRequest.getRemoteUser()是填充还是为空。如果为空,如何获取远程用户?

  • 问题内容: 我想将具有基本身份验证(用户名,密码)的代理用于Java中的连接(并且仅此连接)。以下代码适用于HTTP URL(例如“ http://www.google.com ”): 但是,该代码不适用于HTTPS URL(例如“ https://www.google.com ”)!我收到的时候我尝试访问HTTPS URL。 此代码适用于HTTP和HTTPS: 第二个代码的问题在于它设置了一个新

  • 我是Apache Shiro的初学者。我一直在跟踪文档和许多其他教程,博客等,但我就是无法使身份验证工作。当我尝试使用有效的用户名和密码登录时,总是会引发。我正在使用DynamoDB作为存储用户凭据的自定义领域,但我真的不认为这有什么关系。显然,我存储和/或执行凭据匹配的方式是不正确的。以下是我的设置:

  • 问题内容: 从HttpClient 4.3开始,我一直在使用HttpClientBuilder。我正在连接到具有基本身份验证的REST服务。我将凭据设置如下: 但是,这不起作用(我正在使用的REST服务返回401)。怎么了? 问题答案: 从此处的 抢先身份验证 文档中: http://hc.apache.org/httpcomponents-client- ga/tutorial/html/aut

  • 在Spring中使用基本身份验证时,我遇到了与HTTP响应标头“Access-Control-Allow-Origin”相关的问题。当我手动进行身份验证时,就像下面的代码一样(我使用的是REST): 一切正常,我收到以下HTTP响应: 如您所见,响应中出现了“Access-Control-Allow-Origin”。这里一切都好。我可以在ajax调用中捕捉到401错误。 但是,当身份验证自动执行时