Wget和Nginx无法获取localhost的内容

时间:2018-06-12 07:48:44

标签: http curl nginx proxy wget

我可以在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;
    }
}

3 个答案:

答案 0 :(得分:1)

您正在点击的页面似乎正在重定向到其他页面。 请在注释掉代理重定向并重新加载nginx后进行检查。

#proxy_redirect  off

答案 1 :(得分:0)

发现问题,我的Nginx配置文件完全正确,Jenkins服务器工作正常,但是因为SELinux使得Nginx无法将请求传递给Jenkins。

如何禁用SELinux

  • sudo nano / etc / selinux / config
  • 将“SELINUX =”行设置为:“SELINUX = disabled”
  • sudo reboot

答案 2 :(得分:0)

具有完全相同的配置和错误,并且对这个问题进行了6个多小时的调查。对我有用:

enter image description here

我需要检查Jenkins>管理Jenkins>配置全局安全性>授权>允许匿名读取访问

更新:我刚刚意识到可以打开整个Jenkins软件供公众阅读。不理想。我需要找到合适的解决方案。