Nginx proxy_pass 到 Tomcat 非根 Web 应用程序?

Nginx proxy_pass 到 Tomcat 非根 Web 应用程序?

我想使用 nginx 作为 Tomcat 非 root 应用程序的代理,但遇到了问题。这是我使用的代码:

location / {
    proxy_pass         http://127.0.0.1:8080/app_v1.1.0/;
        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;
        proxy_max_temp_file_size 0;

        client_max_body_size       10m;
        client_body_buffer_size    128k;

        proxy_connect_timeout      90;
        proxy_send_timeout         90;
        proxy_read_timeout         90;

        proxy_buffer_size          4k;
        proxy_buffers              4 32k;
        proxy_busy_buffers_size    64k;
        proxy_temp_file_write_size 64k;
    }

现在,这对于应用程序登录屏幕来说没问题,但对于除此之外的任何事情都不起作用。登录后,登录页面会返回,所以我认为这种代理有问题,显然缺少某种重写。

如果我将其更改为类似以下内容:

location / {
    proxy_pass         http://127.0.0.1:8080/;
}

或者:

location /app_v1.1.0 {
    proxy_pass         http://127.0.0.1:8080/app_v1.1.0
}

然后它可以工作了,但我必须通过“http:///app_v1.1.0”访问我的应用程序...可以以某种方式规避这个问题吗?

谢谢。

相关内容