千家信息网

Nginx的location怎么使用

发表于:2024-11-20 作者:千家信息网编辑
千家信息网最后更新 2024年11月20日,这篇文章主要讲解了"Nginx的location怎么使用",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"Nginx的location怎么使用"吧!语法S
千家信息网最后更新 2024年11月20日Nginx的location怎么使用

这篇文章主要讲解了"Nginx的location怎么使用",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"Nginx的location怎么使用"吧!

语法

Syntax: location [ = | ~ | ~* | ^~ ] uri { ... }        location @name { ... }Default:  -Context:  server, location
语法说明
location = /uri=开头表示精确匹配,只有完全匹配上才能生效。
location ^~ /uri^~ 开头对URL路径进行前缀匹配,并且在正则之前。
location ~ pattern~开头表示区分大小写的正则匹配。
location ~* pattern~*开头表示不区分大小写的正则匹配。
location /uri不带任何修饰符,也表示前缀匹配,但是在正则匹配之后。
location /通用匹配,任何未匹配到其它location的请求都会匹配到,相当于switch中的default。
  1. 精确匹配的优先级最高。

  2. 如果没有精确匹配,那么就会对配置文件中的所有非正则location进行匹配,找到最长匹配。如果最长匹配是以^~开头,那么就返回该匹配结果。

  3. 对正则匹配逐个进行匹配,如果匹配成功,则返回正则location,如果不成功,则返回第2步匹配的最长匹配结果

nginx 配置 proxy_pass时可以实现URL路径的部分替换。

1.proxy_pass的目标地址,默认不带/,表示只代理域名,url和querystring部分不会变(把请求的path拼接到proxy_pass目标域名之后作为代理的URL)

2.如果在目标地址后增加/,则表示把path中location匹配成功的部分剪切掉之后再拼接到proxy_pass目标地址

例子:

server {        location  /abc {                proxy_pass http://server_url;        }       location  /abc {                proxy_pass http://server_url/;        } }

比如请求 /abc/b.html

如上两个匹配成功后,实际代理的目标url分别是

http://server_url/abc/b.html (把/abc/b.html拼接到http://server_url之后)

http://server_url/b.html (把/abc/b.html的/abc去掉之后,拼接到http://server_url/之后)

感谢各位的阅读,以上就是"Nginx的location怎么使用"的内容了,经过本文的学习后,相信大家对Nginx的location怎么使用这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!

0