访问具有多个域名/网站/应用程序的IP地址且没有默认服务器/conf的Nginx服务器上的网站,将打开该IP上的第一个字母域。
这是真的还是假的?
如果这是真的,还能以某种方式改写吗?
发布于 2016-09-15 09:41:09
假。因为这取决于你的配置。
在按名称搜索虚拟服务器时,如果名称匹配多个指定变体(例如通配符名称和正则表达式匹配),将按以下优先级顺序选择第一个匹配变量:
如果没有找到匹配,则nginx将将请求路由到此端口的默认服务器。默认服务器是配置文件中的第一个--这是nginx的标准默认行为。如果所有服务器都使用include指令,并按掩码包含的文件按字母顺序排序(按文件名,而不是server_name中的域名称)。
默认服务器还可以使用default_server指令中的listen参数显式地设置应该默认的服务器。
此外,如果您需要通过IP和未知域名访问服务器的不同行为,则可以添加以IP为名称的server_name。
UPD:如果通过IP访问nginx,主机名将等于IP。因此,nginx将开始查找与IP主机名匹配的server_name。以上所述的一切仍然有效。
https://stackoverflow.com/questions/39506954
复制相似问题