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/

相关推荐
幸福指北4 小时前
我用 Tauri + Vue 3 + Rust 开发了这款跨平台网络连接查看工具PortView,性能炸裂!
运维·网络·监控
青柠代码录6 小时前
【Linux】路径区分:testdir、testdir/、testdir/*
linux·运维·服务器
Benszen7 小时前
Docker容器化解决方案全解析
运维·docker·容器
badhope7 小时前
Docker从零开始安装配置全攻略
运维·人工智能·vscode·python·docker·容器·github
mounter6258 小时前
基于MLX设备的Devlink 工具全指南与核心架构演进
linux·运维·服务器·网络·架构·kernel
xuanwojiuxin8 小时前
[linux] what‘s the kdump?
linux·运维·服务器
透明的玻璃杯8 小时前
关于QT客户端和服务器端之前状态监控
运维·服务器
软件资深者8 小时前
Coze自动化工作流+Agent智能体实战教程(0基础入门,附多场景实操)
运维·人工智能·ai·自动化·工作流·扣子·课程
爱打代码的小林9 小时前
用 OpenAI API 自动化分类智能手表用户问题示例
运维·自动化·大模型·api·智能手表
九河云9 小时前
教育行业上云实践:从在线课堂到智慧校园的架构升级
大数据·运维·人工智能·安全·架构·数字化转型