我试图将jenkins容器(docker)放在nginx反向代理后面。它可以正常使用此路径https://example.com/,但当我将参数添加到路径https://example.com/jenkins时,它会返回502 Bad Gateway。
jenkins的docker容器就像这样运行 docker container run -d -p 127.0.0.1:8080:8080 jenkins / jenkins
这是我的代码,
server {
listen 80;
root /var/www/html;
server_name schoolcloudy.com www.schoolcloudy.com;
location / {
proxy_pass http://localhost:8000;
}
}
# Virtual Host configuration for example.com
upstream jenkins {
server 127.0.0.1:8080;
}
server {
listen 80;
server_name jenkins;
location /jenkins {
proxy_pass http://jenkins;
proxy_redirect 127.0.0.1:8080 https://schoolcloudy.com/jenkins;
}
}
答案 0 :(得分:0)
运行容器时,使用--network=host
标志指定Jenkins容器的网络。这样,容器将能够与主机网络交互或在Nginx conf中明确使用容器的IP。
答案 1 :(得分:0)
在此类问题中的良好做法是使用官方文档: wiki.jenkins.io 我已经在Nginx反向代理后面配置了Jenkins几次,每次wiki都能正常工作。
P.S .:看起来您配置中的proxy_pass
选项值应更改为http://127.0.0.1:8080