nginx中location匹配规则与proxy_pass代理转发

5次阅读
没有评论

 

最近使用nginx在服务器上配置,在做路径匹配时上遇到细节上的东西,在此做记录,安装请转 windows下安装使用nginx教程

一、location匹配规则

1.前缀匹配:不带符号

server {
	listen 80;
	server_name 192.168.100.123;
	location /abc {}  
}
#可以匹配到
http://192.168.100.123/abc
http://192.168.100.123/abc?name=zs
http://192.168.100.123/abc/
http://192.168.100.123/abcd

# 下列写法,当输入http://192.168.100.123时匹配到
location / {} 

2.精确匹配:符号=:表示精确匹配

server {
	listen 80;
	server_name 192.168.100.123;
	location = /abc {}  
}
#可以匹配到
http://192.168.100.123/abc
http://192.168.100.123/abc?name=zs
#不能匹配到
http://192.168.100.123/abc/
http://192.168.100.123/abcd

3.正则匹配:符号~~*:执行一个正则匹配,前者区分大小写,后者不区分

server {
	listen 80;
	server_name 192.168.100.123;
	location = ~* \.(jpg|png|gif)$  {}
}

4.符号^~:一旦匹配到,就不继续匹配

server {
	listen 80;
	server_name 192.168.100.123;
	# 匹配静态文件
	location ^~ /static/ {}
}

5.匹配优先级

1.精确匹配 =:如果匹配到,匹配结束,否则往下匹配;
2.前缀匹配(三种情况):
(1)如果匹配到,记录所有成功项,最长项如果有^~,停止匹配;
(2)如果匹配到,记录所有成功项,最长想如果没有^~,进行正则匹配;
(3)如果没有匹配到,进行正则匹配
3.正则匹配 ~与~*:从上往下匹配,以最后一个匹配项为匹配结果
4.没有匹配项,返回404

还没看懂?将军莫虑,请看此图

nginx中location匹配规则与proxy_pass代理转发

二、proxy_pass规则

访问地址:http://192.168.1.123/test/xxoo.html为例,server_name 为192.168.1.123,其中末尾是否带/有比较多的情况,在使用时需要特别注意

情况1:location带/且proxy_pass带/

location /test/ {
	proxy_pass http://192.168.1.123/
}

代理地址 http://192.168.1.123/xxoo.html

情况2:location带/且proxy_pass不带/

location /test/ {
	proxy_pass http://192.168.1.123;
}

代理地址 http://192.168.1.123/test/xxoo.html

情况3:location带/且proxy_pass带二级目录和/

location /test/ {
	proxy_pass http://192.168.1.123/api/;
}

代理地址 http://192.168.1.123/api/xxoo.html

情况4:location带/且proxy_pass带二级目录不带/

location /test/ {
	proxy_pass http://192.168.1.123/api;
}

代理地址 http://192.168.1.123/apixxoo.html

情况5:location不带/且proxy_pass带二级目录不带/

location /test {
	proxy_pass http://192.168.1.123/api;
}

代理地址 http://192.168.1.123/api/xxoo.html

情况6:location不带/且proxy_pass带/

location /test {
	proxy_pass http://192.168.1.123/;
}

代理地址 http://192.168.1.123//xxoo.html

情况7:location不带/且proxy_pass不带/

location /test {
	proxy_pass http://192.168.1.123;
}

代理地址http://192.168.1.123/test/xxoo.html

三、alias与root

使用alias,当访问/test/时,会到/www/abc/目录下找文件

location /test/ {
	alias /www/abc/;
}

使用root,当访问/test/时,会到/www/abc/test/目录下找文件(如果没有test目录会报403)

location /test/ {
	root /www/abc;
}

 

正文完
 0
bdspAdmin
版权声明:本站原创文章,由 bdspAdmin 于2026-03-12发表,共计1994字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
评论(没有评论)

摆渡资源站

文章搜索
一言一句话
-「
热门文章
某个货币持仓增长了一倍,但是 jing流入没有增加多少,为啥

某个货币持仓增长了一倍,但是 jing流入没有增加多少,为啥

  这通常是因为该货币的市值(价格)上涨抵消了持仓量的增加,或者存在某些“非交易性”的变动。 简单来...
mac brew 有没有 markdown 格式化工具

mac brew 有没有 markdown 格式化工具

  在 macOS 上通过 Homebrew (brew) 安装 Markdown 格式化工具非常方...
2026比特币稳赚指南:顶级加密交易策略全揭秘!

2026比特币稳赚指南:顶级加密交易策略全揭秘!

    关键要点 定投(DCA):仍是比特币长期积累的低风险和纪律性策略。 趋势交易和波段...
使用Java类库ta4j计算基金的布林轨

使用Java类库ta4j计算基金的布林轨

ta4j简介 对于做金融分析的从业者而言,python的ta-lib是不可或缺的技术分析库,具有简单易用、功能...
全真早晚功课简介

全真早晚功课简介

         道教的斋醮仪式很多,主要的日常宗教活动是早晚功课经。凡是道教徒每天都要上殿唪诵,所...
最新评论
333985 333985 每天都在战争,希望2026和平.
最新文章
nginx中location匹配规则与proxy_pass代理转发

nginx中location匹配规则与proxy_pass代理转发

  最近使用nginx在服务器上配置,在做路径匹配时上遇到细节上的东西,在此做记录,安装请转 win...
算法practice1进阶

算法practice1进阶

  这两个方案是面试中常见的进阶考向,尤其是当面试官追加限制条件(如“不准修改原数组”)时,方案 B...
算法practice1

算法practice1

  https://github.com/CyC2018/CS-Notes/blob/master/...
胸部爱抚是件迷人的事,如果能掌握诀窍更好──5个胸部爱抚阶段的相关诀窍

胸部爱抚是件迷人的事,如果能掌握诀窍更好──5个胸部爱抚阶段的相关诀窍

  爱抚胸部绝对是性爱前戏中最常见,同时也最重要的一环。只是,大多数的男生虽然都有迷恋女生胸部的倾向...
8招舌吻技巧

8招舌吻技巧

  舌吻技巧1:先从正常的亲嘴开始 先从普通的亲嘴开始,慢慢酝酿舌吻的情绪。保持嘴唇柔软并微微张开,...