- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
关于如何使用基本 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: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 header 。仍然想要解决我的问题,但还没有找到...
最佳答案
以下是我能够发现的问题:
应该有一个
<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 的配置,用于提供静态 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/
我在这里阅读了有关代理的示例: http://docs.oracle.com/javase/1.3/docs/guide/reflection/proxy.html 可以看到,'invoke'方法中的
在我的通用 nuxt 应用程序中,我将代理设置为 true 并重写了我的 url 以避免 CORS 问题。但是当我将代理设置为 true 时,我所有的发布请求都会更改为获取请求。不明白为什么以及如何将
我正在开发一个连接到 SFTP 服务器并使用 Apache Commons VFS 下载文件的应用程序,它工作得很好,但系统需要允许用户根据需要指定代理。 现在,我知道 Apache Commons
跟随线程[实体无法转换为javassist.util.proxy.Proxy,我现在确实有服务器端错误(tks thomas) 我无法在我的应用程序中面对真正的问题。 java.lang.ClassC
我正在使用 Charles Proxy 重写 API 的响应以进行测试。 如果我设置断点,我就可以按照自己的意愿完全重写原始响应。 但是,如果我想通过“重写”工具自动化它,我就陷入困境了,似乎你无法修
让我解释一下困境。 我使用 Amazon 的 3 项服务:EC2、S3 和 CloudFront。 EC2 接收上传的文件,并将其存储在 S3 存储桶中。然后 CloudFront 镜像 S3 存储桶
我正在使用 Caddy 在 DigitalOcean Ubuntu droplet 上反向代理某些站点。 这是我的 Caddy 文件,非常简单:upside_down: my-site.com {
我正在尝试测试承受多台计算机负载的 SOCKS 代理。我的代码大纲类似于 使用一个客户端直接连接到服务器,下载测试文件,并记录所花费的时间。 通过代理与一个客户端连接,下载测试文件,并记录所花费的时间
以下情况: 如果我将浏览器的 http/https 代理设置为 Charles 为 (127.0.0.1:8888) 配置的端口,使用 Charles 代理拦截 Web 流量就可以正常工作 如果我将浏
我有一个使用 grunt 构建的 angularJs 应用程序和一个用 Java 编写的在 tomcat 服务器上运行的服务器后端。为了在开发时将它们连接在一起,我想使用 grunt-connect-
对于文件上传,我试图在我的 Spring Controller 中注入(inject)并使用 validator ,如下所示: @RestController @RequestMapping("/ap
我需要使用 CaSTLe DynamicProxy 来代理接口(interface),方法是向 ProxyGenerator.CreateInterfaceProxyWithTarget 提供接口(i
我已经看到,当不同框架(例如实现 EJB 规范的框架或某些 JPA 提供程序)中发生错误时,堆栈跟踪包含像 com.sun.proxy.$Proxy 这样的类。我知道代理是什么,但我正在寻找更技术性和
我正在使用带有多个 apiserver 的集群设置,它们前面有一个负载均衡器,用于外部访问,并安装在裸机上。 就像 High Availability Kubernetes Clusters 中提到的
我使用 Charles 代理(在 OS X 10.9.3 下,Mavericks 下)修改 Origin header ,以便我连接的 API(开发中)接受来自开发环境的传入请求。 我设法通过一个简单
我已经在 Python 中实现了一个“网络服务”父类(super class),如下所示: class NetworkService (threading.Thread): """
我正在使用node.js代理。但是它工作成功: proxy.on('proxyResponse', function (proxyRes, req, res) { console.log("h
我正在尝试使用Nginx-Proxy在Ubuntu VPS的docker容器内运行WordPress网站。 我创建了以下docker-compose.yml文件 version: '3.4' serv
我一直在使用 DataKinds 扩展以类型安全的方式将类型级别 Nats 传递给函数,我只是想知道是否有更好的编写方式: (Proxy :: Proxy 42) 例如,如果类型系统看到参数需要,是否
已关闭。此问题旨在寻求有关书籍、工具、软件库等的建议。不符合Stack Overflow guidelines .它目前不接受答案。 我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以
我是一名优秀的程序员,十分优秀!