我可以在http://localhost:8080的浏览器上打开我的Jenkins,但是wget无法做到。
wget http://localhost:8080
--2018-06-12 07:39:56-- http://localhost:8080/
Resolving localhost (localhost)... ::1, 127.0.0.1
Connecting to localhost (localhost)|::1|:8080... connected.
HTTP request sent, awaiting response... 403 Forbidden
2018-06-12 07:39:56 ERROR 403: Forbidden.
curl可以做到:
curl http://localhost:8080
<html><head><meta http-equiv='refresh' content='1;url=/login?from=%2F'/><script>window.location.replace('/login?from=%2F');</script></head><body style='background-color:white; color:white;'>
Authentication required
<!--
You are authenticated as: anonymous
Groups that you are in:
Permission you need to have (but didn't): hudson.model.Hudson.Read
... which is implied by: hudson.security.Permission.GenericRead
... which is implied by: hudson.model.Hudson.Administer
-->
</body></html>
问题是我的 Nginx失败了,就像wget 一样,在尝试路由到Jenkins时,我在Nginx上得到错误502 Bad Gateway :
这是Jenkins的Nginx服务器块:
server {
listen 80;
server_name ...;
location / {
proxy_pass http://127.0.0.1:8080;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
答案 0 :(得分:1)
您正在点击的页面似乎正在重定向到其他页面。 请在注释掉代理重定向并重新加载nginx后进行检查。
#proxy_redirect off
答案 1 :(得分:0)
发现问题,我的Nginx配置文件完全正确,Jenkins服务器工作正常,但是因为SELinux使得Nginx无法将请求传递给Jenkins。
如何禁用SELinux :
答案 2 :(得分:0)
具有完全相同的配置和错误,并且对这个问题进行了6个多小时的调查。这对我有用:
我需要检查Jenkins>管理Jenkins>配置全局安全性>授权>允许匿名读取访问
更新:我刚刚意识到可以打开整个Jenkins软件供公众阅读。不理想。我需要找到合适的解决方案。