欧酷网

您的位置:主页>后端>

nginx代理的路径转换

这里只是写一下我验证过的nginx代理的路径转换,主要是nginx配置文件中的server代码块中的location模块的使用:

 

 

 

    server { 
        listen       8089;
        server_name  localhost;
         location / {
            root   html;
            index  index.html index.htm;
        }
         error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
         location /tools {
            alias   D:\NgnixTestTools;
            allow all;
            autoindex on;
        }
 location /login{
      proxy_pass http://localhost:8080;
  }    
   location /test{
      proxy_pass http://localhost:8080;
  } 
        location /test1{
      proxy_pass http://localhost:8080/nginx;
  }   
    }

1、当我们未使用正则表达式来匹配url路径时,proxy_pass 后面是可以跟路径的,类似于代码块中的 /test1对应的路径,使用正则表达式的时候,则不可以用带路径的转发格式,只能用像/test对应的后缀一样(ip地址+端口号)

2、当我们未使用正则表达式的时候:

proxy_pass 后面跟ip地址加端口号时,转发到的路径会添加上我们代理前缀。如:local host:8089/test/nginx/test,在我上述的配置文件中会转换为 http://localhost:8080/test/nginx/test.

test以及test后面的路径会直接添加到我的proxy_pass 后面路径上

proxy_pass后面跟ip地址+端口号+映射路径时,会将代理的路径转换成转发路径,代理路径后面的路径会添加在转发路径后面。如:local host:8089/test1/nginx1/test, 在我上述的配置文件中会转换为 http://localhost:8080/nginx/nginx1/test.

test1会被转发路径替换,test1后面的路径会添加到转发路径后面。

 

相关文章推荐