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

1tu0hz3e  于 2023-05-28  发布在  Nginx
关注(0)|答案(3)|浏览(246)

我尝试配置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/;
    }
bnlyeluc

bnlyeluc1#

我找到解决办法了。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反向代理,解决了我的问题

emeijp43

emeijp432#

我不知道上面的声明是否适用于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;
    }
nnsrf1az

nnsrf1az3#

如果你使用Jenkins和Docker。您可以添加合成文件的环境部分如下:

environment:
 JENKINS_OPTS: "--prefix=/jenkins"

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

相关问题