带有tomcat的nginx反向代理不起作用

Posted

技术标签:

【中文标题】带有tomcat的nginx反向代理不起作用【英文标题】:nginx reverse proxy with tomcat not working 【发布时间】:2017-10-22 06:21:35 【问题描述】:

我正在尝试使用 nginx 代理 tomcat。我在下面有这个配置。现在我面临的问题是,如果我通过 IP(192.168.2.6) 访问 url,那么它会被重定向到 /auth_app is tomcat,这很好。 tomcat url 重定向到第三方 SAML2 提供程序,一旦通过身份验证,它就会重定向到http://localhost:8080/auth_app/ 而不是http://192.168.2.6/auth_app/,因此我的应用程序无法打开,因为 tomcat 在 192.168.2.6 而不是 localhost 上运行。

server  
    listen 80 default_server; 
    server_name _; 
    error_log /var/log/nginx/abc_error.log; 
    access_log /var/log/nginx/abc_access.log; 
    rewrite ^/?$ /auth_app; 
    location /auth_app  
        proxy_redirect off; 
        proxy_set_header X-Forwarded-Host $host; 
        proxy_set_header X-Forwarded-Server $host; 
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
        proxy_pass http://localhost:8080/auth_app/; 
     

【问题讨论】:

【参考方案1】:

在你的 tomcat 应用程序中应该有一个配置设置来将重定向 URL 设置为http://192.168.2.6/auth_app/

【讨论】:

以上是关于带有tomcat的nginx反向代理不起作用的主要内容,如果未能解决你的问题,请参考以下文章

nextcloud 的 Nginx 反向代理不起作用

Nginx 与 docker:反向代理不起作用

Next js 和 google 分析在 nginx 反向代理后面不起作用

使用 NGINX 作为反向代理的 docker-compose 不起作用:/

nginx反向代理302自定义处理程序不起作用

nginx 的 http_sub_module / sub_filter 和反向代理不起作用