NginX 使用错误的配置文件

NginX 使用错误的配置文件

我有一个使用 NginX 的网络服务器,每个网站都有不同的配置文件。我注意到,如果我有一个不再存在的站点配置(没有 DNS 名称或错误设置),NginX 会直接将我重定向到我的其他站点之一。总是重定向到同一个站点,所以不是随机的。这是如何工作的?如果 NginX 应该提供的配置不正确,它如何决定将我重定向到哪里?

简单的例子:如果我在浏览器中输入服务器的 IP 地址,就会加载该特定页面。 OFC 我还没有设置任何配置来为 IP 地址提供服务。你知道我如何更改 NginX 来提供其他服务或可能丢弃错误吗?哦,是的,关于这个

如果我访问我的 IP 地址,则没有任何日志文件记录任何内容。但显然,一个网站加载了。

答案1

这是因为 Nginx 默认使用第一个网站。你可以使用默认服务器指示。

我不希望 Nginx 响应任何域名,因此我这样做来发送没有反应

# This just prevents Nginx picking a random default server if it doesn't know which
# server block to send a request to
server {
    listen      80 default_server;
    server_name _;
    return      444; # This means "go away", effectively
}

答案2

如果没有server匹配的块server_name,则请求将被发送到其指令中的语句server或定义的第一个块(当从目录读取多个配置文件时,通常是字母表中的第一个块)。default_serverListenserver

http://nginx.org/en/docs/http/request_processing.htmlhttp://nginx.org/en/docs/http/server_names.htm

相关内容