Nginx配置转发tomcat的多种方法组合

时间:2024-04-03 15:21:18

场景:一台机器上,安装了一个nginx,两个tomcat

当两个tomcat下有一个项目,并且该项目放在tomcat的root文件夹下。配置负载均衡转发

Nginx配置转发tomcat的多种方法组合

当两个tomcat下的项目,没有放在tomcat的root文件夹下。而是有项目文件夹有项目名称的情况,配置负载均衡转发。

Nginx配置转发tomcat的多种方法组合

Nginx配置转发tomcat的多种方法组合

注意,带项目名称的配置中proxy_pass http://localhost 的这个配置http://localhost后面带不带“/”,有很大不同,在上述的情况中如果带了“/”,nginx的转发就不好使了。

这种配置在访问项目的时候,就要带着项目名称了。如localhost:8088/nvhXXX

 

其原因:

nginx配置之proxy_pass路径加斜杠/以及包含路径的区别

nginx配置看似简单,但一些细节配置经常被大家忽略。

 

在proxy_pass中

 

1.proxy_pass包含路径如 http://127.0.0.1:8080/abc 和http://127.0.0.1:8080规则都有区别。

 

2.proxy_pass结尾加斜杠/和不加斜杠的有区别

 

下面四种情况分别用http://192.168.10.1/proxy/test.html 进行访问。

 

第一种(末尾加斜杠,proxy_pass中不包含路径):

 

location  /proxy/ {

 

proxy_pass http://127.0.0.1:81/;

 

}

 

结论:会被代理到http://127.0.0.1:81/test.html  (proxy_pass+请求url匹配的location路径后的内容)

 

 

 

第二种(末尾不加斜杠,proxy_pass不包含路径)

 

location  /proxy/ {

 

proxy_pass http://127.0.0.1:81;

 

}

 

结论:会被代理到http://127.0.0.1:81/proxy/test.html (proxy_pass替换请求url的ip和端口)