nginx location 相关配置

一、location匹配细节

注意:proxy_pass 判断后面带不带/,是看ip+port后面,而不是url结尾,例如http://127.0.0.1:8080/nginx,也算是以/结尾

二、rewrite参数细节

redirect、permanent重定向

break、last内部重定向,换path值。重新匹配location

三、语法规则: location [=|~|~*|^~] /uri/ {… }

首先匹配 =,其次匹配^~,其次是按文件中顺序的正则匹配,最后是交给 /通用匹配。当有匹配成功时候,停止匹配,按当前匹配规则处理请求。

符号

含义

=

= 开头表示精确匹配

^~

^~开头表示uri以某个常规字符串开头,理解为匹配 url路径即可。nginx不对url做编码,因此请求为/static/20%/aa,可以被规则^~ /static/ /aa匹配到(注意是空格)

~

~ 开头表示区分大小写的正则匹配

~*

~* 开头表示不区分大小写的正则匹配

!~和!~*

!~和!~*分别为区分大小写不匹配及不区分大小写不匹配的正则

/

用户所使用的代理(一般为浏览器)

$http_x_forwarded_for

可以记录客户端IP,通过代理服务器来记录客户端的ip地址

$http_referer

可以记录用户是从哪个链接访问过来的

 


版权声明:本文为goxingman原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。