- location 修饰符类型
「=」 修饰符:要求路径完全匹配,,也就是精准匹配
location / {
// 因为所有的地址都以 / 开头,所以这条规则将匹配到所有请求
}
server {
server_name website.com;
location = /abcd {
#精准匹配xxx/abcd或者xxx/abcd?param1
[…]
}
}
http://website.com/abcd匹配
http://website.com/ABCD可能会匹配 ,也可以不匹配,取决于操作系统的文件系统是否大小写敏感(case-sensitive)。ps: Mac 默认是大小写不敏感的,git 使用会有大坑。
http://website.com/abcd?param1¶m2匹配,忽略 querystring
http://website.com/abcd/不匹配,带有结尾的/
http://website.com/abcde不匹配
- location优先级
//优先级从高到低依次为1>2>3>4>5>6(序号越小优先级越高)
(1) location = # 精准匹配
(2) location ^~ # 带参前缀匹配
(3) location ~ # 正则匹配(区分大小写)
(4) location ~* # 正则匹配(不区分大小写)
(5) location /a # 普通前缀匹配,优先级低于带参数前缀匹配。
(6) location / # 任何没有匹配成功的,都会匹配这里处理
-
location 的两种表示形式
一种是使用前缀字符,一种是使用正则。
(1)前缀字符
(2)正则
location ~ 和location ~* -
root 和try_files 和proxy_pass
5.客户端请求正文的最大允许大小
语法:client_max_body_size size;默认值:client_max_body_size 1m;上下文:http,服务器,位置设置客户端请求正文的最大允许大小,在“ Content-Length”请求标头字段中指定。如果请求中的大小超过配置的值,则会向客户端返回413(请求实体太大)错误。请注意,浏览器无法正确显示此错误。将size设置为0将禁用检查客户端请求主体大小。尝试根据请求的大小扩展它。