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/

相关推荐
飞飞传输16 分钟前
守护医疗隐私,数据安全摆渡系统撑起内外网安全伞!
大数据·运维·安全
Guheyunyi21 分钟前
视频安全监测系统的三大核心突破
大数据·运维·服务器·人工智能·安全·音视频
Jelly-小丑鱼36 分钟前
Linux搭建SQLserver数据库和Orical数据库
linux·运维·数据库·sqlserver·oracal·docker容器数据库
Run_Teenage39 分钟前
Linux:进程等待
linux·运维·服务器
Trouvaille ~39 分钟前
【Linux】从磁盘到文件系统:深入理解Ext2文件系统
linux·运维·网络·c++·磁盘·文件系统·inode
为什么要内卷,摆烂不香吗1 小时前
Grafana 12.2.0导入仪表盘
运维·grafana
乾元1 小时前
AI 驱动的入侵检测与异常会话判别:从规则到行为分析前言:从“捕获敌人”到“守卫秩序”
运维·网络·人工智能·网络协议·安全
春日见1 小时前
眼在手上外参标定保姆级教学(vscode + opencv)
linux·运维·服务器·数码相机·opencv·ubuntu·3d
Knight_AL2 小时前
Docker 中的端口映射原理:为什么 Nginx 要 `listen 80`,而不是“随便写端口”
nginx·docker·容器
梁下轻语的秋缘2 小时前
I2S与I2C
运维·stm32·单片机·51单片机