gpt4 book ai didi

tomcat - Jenkins 和 Tomcat 使用 Reverse-Proxy Auth 插件

转载 作者:行者123 更新时间:2023-11-28 21:50:12 26 4
gpt4 key购买 nike

关于如何使用基本 HTTP 身份验证让 Jenkins 在 Tomcat 服务器上运行,我似乎找不到很好的解释。

一些基本信息:

操作系统:Windows 7 64位
Tomcat版本:7.0.40
Jenkins 版本:1.516
反向代理身份验证插件版本:1.0.1
Java SDK 版本:1.7.0_17
Java JRE 版本:7
使用 Chrome 和 IE 测试

我目前在我的 Tomcat 服务器上成功启动并运行了 Jenkins,启用了反向代理身份验证插件 (https://wiki.jenkins-ci.org/display/JENKINS/Reverse+Proxy+Auth+Plugin),在 tomcat-users.xml 中添加了一个用户和角色, 并向我添加了几行 web.xml .两者都显示在下面。 (两个文件都位于 C:/Program Files/Apache Software Foundation/Tomcat 7.0/conf/ )

tomcat-users.xml(除了添加一个角色和一个用户,其他都是默认的)

<role rolename="Administrator"/>
<user username="John" password="password" roles="Administrator"/>

web.xml(除添加此部分外均默认)

<security-constraint>
<web-resource-collection>
<web-resource-name>
Jenkins
</web-resource-name>
<url-pattern>/jenkins/*</url-pattern>
<http-method>GET</http-method>
<http-method>POST</http-method>
</web-resource-collection>
<auth-constraint>
<role-name>Administrator</role-name>
</auth-constraint>
</security-constraint>
<!-- Define the Login Configuration for this Application -->
<login-config>
<auth-method>BASIC</auth-method>
</login-config>

我不知道为什么,但每当我去http://localhost:8080http://localhost:8080/jenkins没有登录提示,但如果我更改 <url-pattern>/jenkins/*</url-pattern><url-pattern>/*</url-pattern>我只需转到 http://localhost:8080 就会收到登录提示。 , 这很好。登录后,如果我转到/jenkins,我会被转发到登录页面,该页面“一团糟”[没有任何资源显示,页面看起来很破烂]。

这是它的样子:

Broken Jenkins

这是我发现的一个链接,它与我遇到的问题很接近。 https://groups.google.com/forum/?fromgroups#!topic/jenkinsci-users/AVTklGHmzkc

如有任何帮助,我们将不胜感激!

编辑 1
在需要/相关的情况下添加了 Java 版本

编辑 2
添加了 Jenkins 在“崩溃”时的样子的图片

更新 1
仍然遇到同样的问题,在 web.xml 文件中尝试了不同的组合,但仍然遇到同样的问题。

更新 2
尚未找到修复程序,但我一直在尽力解决它。我会将 url-pattern 设置为 /* ,登录 Tomcat,停止服务器,将其改回 /jenkins/* (我相信这什么都不做)并再次启动服务器,然后转到 Jenkins 页面以获取经过身份验证的 HTTP header 。仍然想要解决我的问题,但还没有找到...

最佳答案

以下是我能够发现的问题:

  1. 除非您打算使用 Apache 或其他一些网络服务器作为反向代理,否则您不需要反向代理身份验证插件。
  2. 应该有一个

    <security-role>
    <role-name>Administrator</role-name>
    </security-role>

    <login-config> 之后的元素元素

  3. C:/Program Files/Apache Software Foundation/Tomcat 7.0/conf/web.xml是 Tomcat 的“默认”servlet 的配置,用于提供静态 Assets 。向该 servlet 添加安全约束会导致所有静态 Assets 变得不可访问,这会导致您的登录屏幕充满死链接。

相反,将安全约束添加到 C:/Program Files/Apache Software Foundation/Tomcat 7.0/webapps/jenkins/WEB-INF/web.xml

这应该可以正常工作,但需要对 C:/Program Files/Apache Software Foundation/Tomcat 7.0/conf/server.xml 进行额外更改可能需要配置领域。查看Tomcat doc related to this .

关于tomcat - Jenkins 和 Tomcat 使用 Reverse-Proxy Auth 插件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16819713/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com