nginx反向代理图像和css未加载

时间:2014-08-07 16:39:58

标签: nginx proxy reverse-proxy

我尝试配置一个nginx反向代理来访问Jenkins实例。我可以打开身份验证页面,但没有CSS,也没有图像。它直接访问时效果很好。

所有工作都好像反向代理没有正确重写html源页面中定义的URL。我错过了什么吗?

这是我的nginx配置:

    location /jenkins {
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header Host $http_host;
            proxy_redirect false;
            proxy_pass http://jenkins:8080/;
    }

3 个答案:

答案 0 :(得分:6)

我找到了解决方案。 nginx反向代理运行良好,但Jenkins需要一些自定义来使用反向代理。

最终的nginx配置:

    location /jenkins/ {
    proxy_pass http://jenkins:8080/jenkins/;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }

the tutorial配置jenkins后面的nginx反向代理解决了我的问题

答案 1 :(得分:5)

我不知道上述声明是否适用于OP,但我知道更改位置名称行对我来说很有用:

  location ^~ /jenkins/ {
    proxy_pass http://jenkins:8080/jenkins/;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }

答案 2 :(得分:0)

如果您将Jenkins与docker一起使用。您可以按如下所示添加撰写文件的环境部分:

environment:
 JENKINS_OPTS: "--prefix=/jenkins"
nginx conf文件中的

。 proxy_pass必须引用http://IP-ADDRESS:PORT/jenkins/。如前所述,link作为参考非常有用。