运维开发网

Jenkins和Tomcat使用Reverse-Proxy Auth插件

运维开发网 https://www.qedev.com 2020-05-10 07:56 出处:网络 作者:运维开发网整理
我似乎无法找到关于如何使用基本HTTP身份验证让Jenkins在Tomcat服务器上运行的良好解释. 一些基本信息: 操作系统:Windows 7 64位 Tomcat版本:7.0.40 jenkins版本:1.516 反向代理Auth插件版本:1.0.1 Java SDK版本:1.7.0_17 Java JRE版本:7 经过Chrome和IE测试 我目前已经在我的Tomcat服务器上启动并运行了
我似乎无法找到关于如何使用基本HTTP身份验证让Jenkins在Tomcat服务器上运行的良好解释.

一些基本信息:

操作系统:Windows 7 64位

Tomcat版本:7.0.40

jenkins版本:1.516

反向代理Auth插件版本:1.0.1

Java SDK版本:1.7.0_17

Java JRE版本:7

经过Chrome和IE测试

我目前已经在我的Tomcat服务器上启动并运行了Jenkins,并启用了反向代理Auth插件(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:8080或http:// localhost:8080 / jenkins时都没有登录提示,但如果我更改< url-pattern> / jenkins / *< / url-pattern的>到< url-pattern> / *< / url-pattern>我只需转到http:// localhost:8080即可获得登录提示,这很好.在我登录后如果我去/ 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头.仍然想要解决我的问题,但尚未找到一个……

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

>除非您计划将Apache或其他Web服务器用作反向代理,否则不需要反向代理Auth插件.

>应该有一个

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

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

> C:/ Program Files / Apache Software Foundation / Tomcat 7.0 / conf / web.xml是Tomcat的“默认”servlet的配置,用于提供静态资产.向此servlet添加安全性约束会导致所有静态资产无法访问,从而导致使用死链接填充登录屏幕.

相反,将安全性约束添加到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.

0

精彩评论

暂无评论...
验证码 换一张
取 消