nginx的server匹配规则
nginx的server匹配规则
nginx的server
块可以配置多个,那么一个请求该匹配那个server块呢,这主要是根据server块的server_name
和listen
来决定的。其中server_name
仅仅检查请求的“Host”头以决定该请求应由哪个虚拟主机来处理。
1 | server { |
相同listen端口的情况下,多个server的匹配顺序如下:
- 完全匹配优先级最高,匹配则终止
- 通配符在前的优先级其次,如
*.com
- 通配符在后的优先级次之,如
baidu.*
- 正则匹配优先级最低,如
~^www\.baidu\.com$
以上若都没有匹配,那么其会走默认的server,即:
- 优先选择listen配置项后有default或default_server的server,若没有则:
- 找到匹配listen端口的第一个server块
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 西瓜蓬蓬的静谧庭院!