nginx + tomcat反向代理问题

时间:2018-09-12 19:15:41

标签: tomcat nginx centos

因此,在使用tomcat设置nginx时遇到了麻烦,尽管那里有很多帮助,但我还没有发现任何我认为非常适用于我的情况的东西。由于这不是我普通技能的一部分,因此我可能只是缺少一些关键词或概念。

现在,我只是想让Tomcat的默认登录页面正常工作。装有yum安装版本的nginx(1:1.12.2-2.el7)和tomcat(7.0.76-6.el7)的CentOS 7.5.1804,以及其他一些服务。

我的配置文件如下所示:

    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/”。

所以我缺少了一些东西。任何建议,将不胜感激。

0 个答案:

没有答案