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/

相关推荐
日取其半万世不竭6 小时前
用 Portainer 可视化管理 Docker:容器再多也不用背命令了
运维·docker·容器
动恰客流统计9 小时前
ReID边缘计算视觉统计:餐饮店客流增长的数字化破局路径
java·大数据·运维·人工智能
砍材农夫13 小时前
运维|devops|jenkins构建应用发布
运维·jenkins·devops
△曉風殘月〆14 小时前
如何在Linux中安装Qt开发环境
linux·运维·qt
雨的旋律209916 小时前
ubuntu2604
linux·运维·服务器
Eloudy16 小时前
ubuntu 22.04安装 cuda 12.8.2
linux·运维·ubuntu
三言老师16 小时前
mkdir创建多级目录,目录创建基础实操
linux·运维·服务器
独孤--蝴蝶17 小时前
Docker容器进阶(一)
运维·docker·容器
he391237717 小时前
ogg命令
运维·网络
其实防守也摸鱼17 小时前
Kimi K3深度测评:长文本之外的真实力
运维·开发语言·网络·人工智能·python·学习·安全