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/

相关推荐
Doraemomo5 分钟前
Linux编程-标准IO和系统IO
linux·运维·服务器
骇客野人5 分钟前
Linux 查看 Java 进程常用命令
java·linux·运维
睡一觉就好了。11 分钟前
Linux 信号机制
linux·运维·网络
正点原子20 分钟前
【正点原子Linux连载】 第十章 pinctrl和gpio子系统实验 摘自【正点原子】ATK-DLRK3568嵌入式Linux驱动开发指南
linux·运维·驱动开发
冠希陈、1 小时前
Nginx部署SSL,导致多站点串站问题
运维·nginx·ssl
こ进制掌控者1 小时前
局域网电脑SMB访问NAS,提示用户名或密码不正确。
运维·服务器
mit6.8242 小时前
devops
运维·flask·devops
向上的车轮2 小时前
GitHub Actions 自动化运维实战:Rust 全栈项目 CI/CD 至华为云
运维·自动化·github
祈禾2 小时前
Redis三大特殊数据类型
运维·服务器·数据库·redis·笔记·缓存
梦想的旅途23 小时前
企微私域自动化:客户全生命周期 SOP 策略与配置实战
运维·自动化·企业微信