Tomcat 的 Nginx 反向代理

2024-03-07

我在 nginx + tomcat 7 反向代理设置工作时遇到问题。

基本上我想要https://192.168.10.101提供来自上游 cluster/webapp/ 的内容;但是我从我的应用程序中收到 404 页面。

任何有关出现问题的提示将不胜感激。

我的配置如下。

server {

            server_name 192.168.10.101;
            access_log /var/log/nginx/mysite-access.log;
            listen   443;
            ssl on;
            ssl_certificate    /etc/nginx/ssl/mysite.crt;
            ssl_certificate_key    /etc/nginx/ssl/private/mysite_pvt.key;

                location  / {
                        proxy_redirect off;
                        proxy_pass      https://tccluster/webapp/;
                        rewrite_log     on;

                        proxy_set_header   Host             $host;
                        proxy_set_header   X-Real-IP        $remote_addr;
                        proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
                        proxy_max_temp_file_size 0;

                }
}

upstream  tccluster  {
                server   192.168.56.103:8443;
                server   192.168.56.104:8443;
}

终于想通了。该应用程序有一个过滤器,可以重定向到/webapp/index.html,这使得 nginx 发出请求/webapp/webapp/index.html这给出了 404。

我添加了重写规则

location / {
                proxy_pass  https://backend/webapp/;
                proxy_redirect off;
                proxy_set_header   Host             $host;
                proxy_set_header   X-Real-IP        $remote_addr;
                proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
                rewrite ^/webapp/(.*)$ /$1 last;
}

这似乎目前有效!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Tomcat 的 Nginx 反向代理 的相关文章

随机推荐