关注分享主机优惠活动
国内外VPS云服务器

Nginx反向代理位置和proxy_pass配置规则详细总结

一、位置配置规则

1.匹配模式和序列的例子:location = /uri =开头表示精确匹配,只有完全匹配才能生效。位置^~ /uri ^~前缀的开头匹配URL路径,正则化之前的位置~模式~的开头表示区分大小写的正则匹配。位置/uri没有任何修饰符。也是前缀匹配的意思,但是正则匹配之后,如果没有正则命中,命中了最长的正则位置/一般匹配,那么任何与其他位置不匹配的请求都会被匹配,相当于switch中的默认。

2.2.location是以& ldquo开头吗??/& rdquo;在ngnix结束时,位置执行模糊匹配。

否& ldquo/& rdquo;最后,位置/abc/def可以匹配/abc/defghi请求或/abc/def/ghi等。& ldquo/& rdquo;最后,位置/abc/def/无法匹配/abc/defghi请求,只能匹配/ABC/def/any之类的请求。

二。proxy_pass配置规则(1)配置proxy_pass时,在下面的url中添加/时,相当于绝对路径,Nginx不会将location中的匹配路径添加到代理uri中。

(2)如果没有/after proxy_pass配置,Nginx会将匹配的路径部分添加到代理uri中。

例如:

服务器{ listen 8081server_name本地主机;location/{ root html;索引index.html index.htm;} #场景一:/在1:proxy_pass之后,表的绝对路径,将不匹配的部分添加到最终的代理路径中(位置和proxy_pass结束方式相同)#访问地址:http://localhost:8081/wcp . service/wcp/model adapter/download/ASC . shtml #最终代理:http://10 . 194 . 171 . 7:13082/model adapter/download/ASC . shtmllocation/WCP。service/wcp/model adapter/download/{ proxy _ pass http://10 . 194 . 171 . 7:13082/model adapter/download/;} #访问地址:http://localhost:8081/model/ASC . shtml #最终代理:http://127 . 0 . 0 . 1:8082/model/ASC . shtml location/model/{ proxy _ pass http://127.0..} #场景2:/after 2:proxy_pass,表的绝对路径,将不匹配的部分添加到最终代理路径中(位置结束和proxy_pass不一致)#访问地址:http://localhost:8081/model/ASC . shtml #最终代理:http://127 . 0 . 0 . 1:8082/ASC . shtml location/model/{ proxy _ pass http://127 . 0 . 0 . 1:8082/;} #场景三:3:proxy_pass之后没有Nginx将匹配部分取至代理的url #访问地址:http://localhost:8081/model/ASC . shtml #最终代理:http://127 . 0 . 0 . 1:8082/model/ASC . shtml location/model/{ proxy _ pass http://。} #场景4 #访问地址:http://localhost:8081/model/ASC . shtml #最终代理:http://127.0.0.1: 8082/AAA model/ASC . shtml location/model/{ proxy _ pass http://127 } #场景5 #访问地址:http://localhost:8081/model/ASC . shtml #最终代理:http://127 . 0 . 0 . 1:8082}位置/a water { proxy _ pass http://10 . 194 . 170 . 94/a water;} }

补充:Nginx配置proxy_pass转发的/path问题。在nginx中配置proxy_pass时,如果根据~匹配路径,注意proxy_pass后面url的最后一个/。当添加/时,相当于绝对根路径,nginx不会在位置上代理匹配的路径;如果没有/,匹配的路径部分也将提供给代理。

位置^~/static _ js/{ proxy _ cache js _ cache;proxy_set_header主机js.test.com;如果请求的url是http://servername/static _ js/test . html

将被描绘成http://js.test.com/test.html.

并且如果如此配置

位置^~/static _ js/{ proxy _ cache js _ cache;proxy_set_header主机js.test.com;proxy _ pass http://js.test.com;}将代表http://js.test.com/static_js/test.htm.

综上,关于Nginx反向代理位置和proxy_pass配置规则的这篇文章已经介绍到这里了。关于Nginx位置和proxy_pass配置规则的更多信息,请搜索主机频道zhujipindao之前的文章。或者继续浏览下面的相关文章。希望大家支持主机频道zhujipindao。以后多来com!

未经允许不得转载:主机频道 » Nginx反向代理位置和proxy_pass配置规则详细总结

评论 抢沙发

评论前必须登录!