文档说明
nginx使用过程中,配置最多的,最难以理解的,也是最容易出问题的,就是location块级指令,本文旨在将location相关配置规范以及使用经验,搜集汇总,便于需要时查看。
特别说明:本文详细内容大部分为网络搜集整理,旨在提供一条学习路线,让我们有条理地阅读和理解,所以相关内容将直接提供网络教程链接,不再做内容的搬运,尊重作者原创。
名词解释
以如下location配置为例
- 访问URL:" /url ",客户端(如浏览器)向服务器发送请求的格式
- 资源URI:" /dir/uri ",服务器实际响应的资源路径
location /url {
root /dir/uri;
index index.html index.htm;
}
常见问题汇总
location使用过程中,经常遇到的问题,大致归为如下几种
- location关键字,root,alias,proxy_pass,rewrite
- location匹配顺序,即访问URL的匹配规则与优先级
- proxy_pass路径配置规则,即访问URL 与 资源URI中是否配置" / "的影响
location关键字
location匹配顺序
不同人员的实际使用场景和经验都不尽相同,所以不同人讲述location的切入点和教程的编排策略也不相同,以下教程,可以都学习一下,相互补充
proxy_pass路径配置规则
请参考 nginx中斜杠(/)详解
规则总结
- proxy_pass代理地址端口后无任何字符,与root效果类似,转发后地址:代理地址+访问URL
- proxy_pass代理地址端口后有目录(包括 / ),与alias效果类似,转发后地址:代理地址+访问URL去除location匹配部分之后剩余的