我想使用 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”访问我的应用程序...可以以某种方式规避这个问题吗?
谢谢。