nginx + tomcat проблема с обратным прокси - PullRequest
0 голосов
/ 12 сентября 2018

Так что у меня возникли проблемы с настройкой nginx с tomcat, и, хотя есть много полезной информации, я не нашел ничего, что, по моему мнению, вполне применимо к моей ситуации. Поскольку это не является частью моего обычного набора навыков, я могу просто упустить некоторые ключевые слова или концепцию.

Сейчас я просто пытаюсь заставить работать целевую страницу Tomcat по умолчанию. CentOS 7.5.1804 с установленными yum версиями nginx (1: 1.12.2-2.el7) и tomcat (7.0.76-6.el7) вместе с несколькими другими сервисами.

Мой конфигурационный файл выглядит примерно так:

    server {
    listen       443 ssl http2 default_server;
    listen       [::]:443 ssl http2 default_server;
    server_name  _;
    root         /usr/share/nginx/html;

    ssl_certificate "stuff";
    ssl_certificate_key "stuff";
    ssl_session_cache shared:SSL:1m;
    ssl_session_timeout  10m;
    ssl_ciphers HIGH:!aNULL:!MD5;
    ssl_prefer_server_ciphers on;

location /other/ {
  rewrite ^/other/(.*)$ /$1 break;
  proxy_pass http://localhost:1234;
  proxy_redirect http://localhost:1234/ $scheme://$host/1234/;
  proxy_http_version 1.1;
  proxy_set_header Upgrade $http_upgrade;
  proxy_set_header Connection $connection_upgrade;
  proxy_read_timeout 20d;
}

location /tomcat/ {
    rewrite ^/tomcat/(.*)$ /$1 break;
    proxy_pass http://localhost:8080;
    proxy_set_header Host $host;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection $connection_upgrade;
}

Когда я иду на свой сервер:

https://example.com/tomcat

Целевая страница загружается нормально. Однако, если я наведу курсор мыши на ссылки, такие как документация или примеры, я получу ссылки вроде:

https://example.com/docs https://example.com/example

Если я вручную введу «https://example.com/tomcat/examples/", он загрузится нормально, хотя любая ссылка ниже, которая производит правильное наведение мыши (например, https://example.com/tomcat/examples/servlets), из-за отсутствия трейлинга / результатов в nginx переписывает его как» https://example.com/examples/servlets/".

Так что я что-то упустил. Мы ценим любые предложения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...