























当一个请求到来,nginx首先会检查请求的目标ip地址和端口与哪一个规则里listen的部分相匹配。
如果同一个ip和端口中匹配了多个虚拟的server块,nginx将会测试HTTP请求中 Host头部的值和
nginx配置文件中 server_name 的值。如果一个 Host 匹配到了多个 server_name,那么nginx
将会用以下顺序匹配,并且一旦匹配上就用那个 server_name 所在的server块来处理:
Host和server_name完全匹配* 开头的,最长的匹配,例如 *.example.org* 结尾的,最长的匹配,例如 mail.*default_server 的那一个server里去nginx中
include/*.conf会是什么顺序呢?这将如何应用于上述第四条规则呢?
当请求进入server块之后,nginx又将如何匹配到哪一个location呢?以下是执行顺序:
location /test, location /,并且保存能匹配的最长的
那个。如果有 location = / 并且匹配,那么匹配到此结束,进入该location块。^~ ,那么将不进行下一步,到此为止,进入该location块参考:
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。