Я добавил несколько поддоменов в nginx, и теперь я бы хотел, чтобы прокси-сервер передавал все поддомены одному экземпляру Jetty.
скажем
subdomain1.blog.com -> localhost: 8080 / subdomain1
jenkins.blog.com -> localhost: 8080 / jenkins
Я протестировал много примеров и в конце концов я боролся с URL.
Если я открою http://jenkins.blog.com, я перенаправлю на https://jenkins.blog.com/jenkins/login?from=%2Fjenkins%2F
Как мне избавиться от этого / jenkins / в моем URL?
Возможно ли достичь этого без использования нескольких экземпляров Jetty и развертывания приложений в webroot?
upstream jetty {
server 127.0.0.1:8080 fail_timeout=0;
}
server {
listen 80;
server_name jenkins.blog.com;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl;
server_name jenkins.blog.com;
ssl_certificate /etc/letsencrypt/live/blog.com-0002/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/blog.com-0002/privkey.pem;
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;
location /jenkins {
rewrite ^/jenkins(/.*)$ $1 last;
}
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;
# Fix the "It appears that your reverse proxy set up is broken" error.
proxy_pass http://jetty/jenkins/;
proxy_read_timeout 90;
#proxy_redirect http://localhost:8080/jenkins https://jenkins.blog.com;
#proxy_redirect http:// https://;
proxy_redirect off;
proxy_buffering off;
# Required for new HTTP-based CLI
proxy_http_version 1.1;
proxy_request_buffering off;
# workaround for https://issues.jenkins-ci.org/browse/JENKINS-45651
add_header 'X-SSH-Endpoint' 'jenkins.blog.com:50022' always;
}
}
}