nginx location的执行规则和root/alias的区分

nginx location的执行规则和root/alias的区分

总结

看本篇文章不是教如何从0编写nginx配置,而是看懂已存在的nginx配置。

官方文档定义:location [ = | ~ | ~* | ^~ ] uri { ... }

  • =:严格匹配,且匹配成功则不继续往下,优先级第一

  • ^~:前缀匹配,匹配到后不继续往下,优先级第二

  • ~:正则表达式,并且区分大小写,优先级次之

  • 不带任何修饰的前缀匹配,优先级最后

这里面用的最多的是第4种普通匹配,然后2和3也会用上,1很少用,这时就要清晰意识到优先级的问题了,往往正则和普通的前缀匹配容易写重了,就会报rewrite的错误

root/alias的区分就是前者是 替换的目录/匹配的目录,后者则直接是替换的目录=匹配的目录。这里注意当alias替换匹配到的目录的时候,如果是ip:port登录的,则可能会丢失port,此时在alias下方需要增加 proxy_pass http://ip:port/

相关推荐
“愿你如星辰如月”10 分钟前
Linux:进程间通信
linux·运维·服务器·c++·操作系统
lwhdjbcjdjd44 分钟前
Nginx与Tomcat协作处理流程及数据流向
运维·nginx·tomcat
CIb0la1 小时前
安卓16系统升级后(Google pixel 8/8pro 9/9pro xl 10/10pro xl)救砖及Root方法
android·运维·生活
呉師傅2 小时前
国产化操作系统---银河麒麟安装步骤(简单介绍)
运维·网络·windows·单片机·电脑
踏雪Vernon3 小时前
[OpenHarmony6.0][Docker][环境]OHOS6 编译环境构建指南
运维·docker·容器
阿里云大数据AI技术3 小时前
云栖实录 | 洋钱罐基于 EMR Serverless 产品构建全球一体化数字金融平台
大数据·运维
saber_andlibert3 小时前
【Linux】Shell脚本
运维·chrome·vscode·编辑器·vim·shell
大大水瓶3 小时前
Nginx学习
学习·nginx·dubbo
qq_401700413 小时前
Linux 磁盘挂载管理
linux·运维·服务器
百***25614 小时前
Nginx作用以及应用场景
运维·nginx