场景:一台机器上,安装了一个nginx,两个tomcat
当两个tomcat下有一个项目,并且该项目放在tomcat的root文件夹下。配置负载均衡转发
当两个tomcat下的项目,没有放在tomcat的root文件夹下。而是有项目文件夹有项目名称的情况,配置负载均衡转发。
注意,带项目名称的配置中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和端口)