Nginx使用IP访问多个域而没有默认服务器/ conf

时间:2016-09-15 08:59:20

标签: nginx server ip domain-name

使用提供多个域名/网站/应用的IP地址访问Nginx服务器上的网站,并且没有默认服务器/ conf,将打开该IP上的第一个字母域。

这是TRUE还是FALSE?

如果为TRUE,这可能会以某种方式被覆盖吗?

1 个答案:

答案 0 :(得分:2)

假。因为取决于你的配置。

  

在按名称搜索虚拟服务器期间,如果名称匹配   不止一个指定的变体,(例如两个通配符名称)   和正则表达式匹配),第一个匹配的变体将是   按以下优先顺序选择:

     
      
  1. 确切名称

  2.   
  3. 以星号开头的最长通配符名称,例如   “* .example.com的”

  4.   
  5. 以星号结尾的最长通配符名称,例如“邮件。*”

  6.   
  7. 第一个匹配的正则表达式(按照出现的顺序排列)   配置文件)

  8.   

如果未找到匹配项,则nginx会将请求路由到此端口的默认服务器。 默认服务器是配置文件中的第一个 - 这是nginx的标准默认行为。如果所有使用include指令的服务器都包含掩码 - 包含的文件按字母顺序排序(按文件名,而不是server_name中的域名)。

默认服务器也可以使用default_server指令中的listen参数明确设置哪个服务器应该是默认服务器。

此外,如果您需要通过IP和未知域名访问服务器的不同行为,则可以添加名为IP的server_name

UPD:在通过IP访问nginx的情况下 - hostname将等于IP。因此,nginx将开始查找与IP主机名匹配的server_name。上述所有内容仍然有效。