NGINX 背后的詹金斯

Jenkins behind NGINX

Nginx 仅适用于 http://localhost, it doesnt work for something like http://localhost/jenkins

这是我的配置:

这有效@http://localhost,登录屏幕出现,一切正常。

server {
    listen 80 default_server;
    listen [::]:80 default_server;

    location / {
        proxy_set_header      Host $http_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 $scheme;
        proxy_pass            http://localhost:8080/;
        proxy_redirect        off;
        proxy_read_timeout    90;
    }
}

...但我想见詹金斯@http://localhost/jenkins

所以这是我输入的内容:

server {
    listen 80 default_server;
    listen [::]:80 default_server;

    location /jenkins/ {
        proxy_set_header      Host $http_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 $scheme;
        proxy_pass            http://localhost:8080/;
        proxy_redirect        off;
        proxy_read_timeout    90;
    }
}

...它似乎将我重定向到 http://localhost/login?from=%2F 并给出错误 404。

我认为您可能遗漏的是告诉 Jenkins 您希望前缀为 /jenkins..

/bin/java -jar /opt/jenkins/jenkins.war --prefix=/jenkins