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 分钟前
【运维心得】完整教程:绕过Win11限制让老机焕发新生
运维·操作系统·win11
zzu123zsw10 分钟前
从 proxy_pass 末尾斜杠到 WebAssembly 预压缩:深挖 Nginx 生产环境四大高频踩坑点
运维·nginx·wasm·webassembly·devops·运维排错
张洛闻Eren31 分钟前
Ansible【第一课】:Ansible介绍
运维·数据库·云原生·kubernetes·github·ansible
郝亚军1 小时前
RK3562 中有 mosquitto、nginx 了,还需要 http,ftp,tftp 等协议吗?
运维·nginx·http
重生之小比特2 小时前
【Linux系统】07 进程状态
linux·运维·服务器
敲代码的彭于晏2 小时前
2026 K8s 零基础入门:手把手教你一步步搭建 Kubernetes 集群
java·运维·全栈
ManageEngine卓豪2 小时前
智能运维如何降低 MTTR:告警聚类、因果分析与自动化修复的工程拆解
运维·智能运维·mttr
wangfenglei1234562 小时前
jenkins权限配置
运维·jenkins
ab1237682 小时前
Docker Compose 完整详解
运维·docker·容器
张洛闻Eren3 小时前
Ansible【第二课】:实施 Ansible Playbook
linux·运维·服务器·云原生·kubernetes·k8s·ansible