【Nginx】nginx配置

配置文件conf/nginx.conf

1.location 配置

(1).基本介绍

location 配置用于匹配请求的 URL,即 ngnix 中的 $request_uri 变量,其配置格式如下:

location [ 空格 | = | ~ | ~* |^~|!~ | !~* ] /uri/ {}
(2).loacation 匹配顺序
1).location 匹配格式规则前缀有如下几种
  • =开头:表示精确匹配
  • ^~开头:注意这不是一个正则表达式,它的目的是优于正则表达式的匹配;如果该 location 是最佳匹配,则不再进行正则表达式检测。
  • ~开头:表示区分大小写的正则匹配;
  • ~*开头:表示不区分大小写的正则匹配
  • !~ && !~*:表示区分大小写不匹配的正则和不区分大小写的不匹配的正则
2).location 匹配格式匹配顺序

(location =) > (location 完整路径) > (location ^~ 路径) > (location ,* 正则顺序) > (location 部分起始路径) > (/)

(3).location “/”结尾匹配规则

在 ngnix 中 location 进行的是模糊匹配

没有“/”结尾时,location/abc/def 可以匹配 /abc/defghi 请求,也可以匹配 /abc/def/ghi 等
而有“/”结尾时,location/abc/def/ 不能匹配 /abc/defghi 请求,只能匹配 /abc/def/anything 这样的请求

(4).proxy_pass “/”结尾匹配规则

(1)配置 proxy_pass 时,当在后面的 url 加上了 /,相当于是绝对路径,则 Nginx 不会把 location 中匹配的路径部分加入代理 uri。

  • 比如下面配置,我们访问 http://IP/proxy/test.html,最终代理到 URL 是 http://127.0.0.1/test.html
location /proxy/{
	proxy_pass http://127.0.0.1/;
}

(2)如果配置 proxy_pass 时,后面没有 /,Nginx 则会把匹配的路径部分加入代理 uri。

  • 比如下面配置,我们访问 http://IP/proxy/test.html,最终代理到 URL 是 http://127.0.0.1/proxy/test.html
location /proxy/{
	proxy_pass http://127.0.0.1;
}

经验:proxy_pass后面没有 /使用情况较多

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值