距离上一次更新该文章已经过了 703 天,文章所描述的內容可能已经发生变化,请留意。
listen 后可以指定
IP:port
的IP地址和端口- 仅IP(端口将默认为80)
- 仅port,将监听所有接口的这个port
- 到某个
Unix socket
的路径(在服务器间转发请求的时候会用到)
在将
listen
的值与请求进行匹配之前,Nginx会先将listen
的值中所缺省的部分补充完整。然后将优先匹配准确的IP,如果不存在完全准确匹配的IP才会匹配到0.0.0.0
,如果有多个IP:port
匹配度相同,Nginx将会继续检查server_name
server_name 指令
Nginx将server_name
与请求头中的Host
进行匹配,匹配的顺序:
优先选择第一个精确匹配到的block。
plaintext
1 | server { |
选择以*开头的进行匹配,并优先选择最长的。
plaintext
1 | server { |
选择以*结尾的进行匹配,并优先选择最长的。
plaintext
1 | server { |
选择以~开头的用正则表达式进行匹配,并优先选择第一个。
plaintext
1 | server { |
如果以上规则都无法匹配,则选择default_server
定义的默认的server_block
(每个server_block
只能有一个default_server
),默认的default_server
是localhost
plaintext
1 | server { |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 小五的个人杂货铺!