nginx proxy 您所在的位置:网站首页 nginx拦截请求转发 nginx proxy

nginx proxy

2024-07-01 04:28| 来源: 网络整理| 查看: 265

在nginx中配置proxy_pass时,当在后面的url加上了/ 相当于是绝对根路径,则nginx不会把location中匹配的路径部分代理走;如果没有/ 则会把匹配的路径部分也给代理走。举例如下: 

首先是location进行的是模糊匹配

1)没有“/”时,location /abc/def可以匹配/abc/defghi请求,也可以匹配/abc/def/ghi等

2)而有“/”时,location /abc/def/不能匹配/abc/defghi请求,只能匹配/abc/def/anything这样的请求

假设请求url: http://www.test.com/static/js/us.js

第一种:

location  /static/ {

proxy_pass http://192.168.1.11:8081/;

}

结论:会被代理到http://192.168.1.11:8081/js/us.js这个url

第二种(相对于第一种,最后少一个 /):

location  /static/ {

proxy_pass http://192.168.1.11:8081;

}

结论:会被代理到http://192.168.1.11:8081/static/js/us.js这个url

第三种:

location  /static/ {

proxy_pass http://192.168.1.11:8081/web/;

}

结论:会被代理到http://192.168.1.11:8081/web/js/us.js这个url。

第四种(相对于第三种,最后少一个 / ):

location  /static/ {

proxy_pass http://192.168.1.11:8081/web;

}

结论:会被代理到http://192.168.1.11:8081/webjs/us.js这个url

#####################################################################################

proxy_pass到域名注意事项

#####################################################################################

如果proxy_pass是直接指向的域名,nginx在启动的时候会缓存域名解析的IP。此时修改域名解析的IP,那么nginx默认将不会解析到新IP上除非reload才会生效。改换成如下配置则更换IP解析后nginx会自动重新查询域名解析。

resolver 8.8.8.8 8.8.4.4 valid=60s;

set $url "http://abc.test.com";

proxy_pass $url;

参考:http://www.cnblogs.com/kevingrace/p/6566119.html



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有