假设我有 3 个 nginx conf 文件,并且 default_server 没有在其中任何一个中定义。现在,如果一个请求到达服务并且如果它的值与任何服务器名称不匹配,或者请求不包含该标头字段,它将采用哪个 nginx 配置来服务该请求。
我的意思是它的优先级如何?
假设我有 3 个 nginx conf 文件,并且 default_server 没有在其中任何一个中定义。现在,如果一个请求到达服务并且如果它的值与任何服务器名称不匹配,或者请求不包含该标头字段,它将采用哪个 nginx 配置来服务该请求。
我的意思是它的优先级如何?
我想,将使用第一个虚拟主机。如果您使用包含虚拟主机(/etc/nginx/sites-enabled/*),则主机将按字母顺序包含。因此,如果您有主机“a”、“b”和“c”,它们中的第一个将是“a”。
请查看 nginx 文档服务器名称
如果在 server 块中没有定义 server_name,则 nginx 使用空名称作为服务器名称。
nginx versions up to 0.8.48 used the machine’s hostname as the server name in this case