Несколько поддоменов nginx ведут к одному экземпляру Jetty - PullRequest
0 голосов
/ 28 марта 2019

Я добавил несколько поддоменов в 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;     
    }
 }
}
...