Nginx反代中proxy_pass结尾是否带/的问题

Nginx反代中proxy_pass结尾是否带/的问题

前言

nginx反向代理中,proxy_pass结尾是否带/有时没区别,有时候却能导致404,这个问题很常见,网上也有很多总结,今天和大家一起总结学习下。

场景

1.

server {

listen 80;

server_name wangtingwei.info ;

location / {

proxy_pass 192.168.137.99:3000/;


server {

listen 80;

server_name wangtingwei.info ;

location / {

proxy_pass 192.168.137.99:3000/;
像这种情况location匹配的是/,后面没内容那么Proxy_pass结尾是否带/效果是一样的。

2.

server {

listen 80;

server_name wangtingwei.info ;

location /grafana {

proxy_pass 192.168.137.99:3000; 
访问wangtingwei.info/grafana此时会被代理到192.168.137.99:3000/grafana,因为proxy_pass后面没有/ location匹配的也会传过去


server {

listen 80;

server_name wangtingwei.info ;

location /grafana {

proxy_pass 192.168.137.99:3000/;

访问wangtingwei.info/grafana此时会被代理到192.168.137.99:3000 ,因为proxy_pass后面有/代表绝对路径,此时location匹配的字段不会传过去。
点赞

发表评论

电子邮件地址不会被公开。 必填项已用*标注

Loading...