我目前在 Docker 上安装了 Jenkins,可以通过 localhost:8080 访问
但是,我希望它也可以与其他应用程序一起在端口 80 上运行。所以,我使用 NGINX 作为反向代理。
所以,我在 nginx/conf.d 文件夹上设置了这个(我使用 Ubuntu 服务器 20.10)
upstream jenkins {
server 127.0.0.1:8080;
}
server {
listen 80 default;
listen [::]:80;
server_name 192.46.223.235; #linode VM for testing, I don't have domain name
access_log /var/log/nginx/jenkins.access.log;
error_log /var/log/nginx/jenkins.error.log;
proxy_buffers 16 64k;
proxy_buffer_size 128k;
location /jenkins {
proxy_pass http://127.0.0.1:8080 ;
proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
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 https;
}
}
如果我在浏览器上打开
它会将我重定向到
那里什么都没有。
我必须手动输入才能进入詹金斯页面
但是,如果我只 在 conf 文件中放置位置 /而不是位置 /jenkins 。它会正常工作。
我是否错过了在 conf 文件中配置 Jenkins 反向代理的任何内容?谢谢!
我在 youtube 上使用这个教程
https://www.youtube.com/watch?v=5R6XlvHG47U&ab_channel=OnlineTutorials