0

我目前在 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;
        }

}

如果我在浏览器上打开

http://192.46.223.235/jenkins/

它会将我重定向到

http://192.46.223.235/login?from=%2Fjenkins%2F

那里什么都没有。

我必须手动输入才能进入詹金斯页面

http://192.46.223.235/jenkins/login?from=%2F

但是,如果我只 在 conf 文件中放置位置 /而不是位置 /jenkins 。它会正常工作。

我是否错过了在 conf 文件中配置 Jenkins 反向代理的任何内容?谢谢!

我在 youtube 上使用这个教程

https://www.youtube.com/watch?v=5R6XlvHG47U&ab_channel=OnlineTutorials

4

0 回答 0