所有主机redirect到单个nginx proxy_pass

我有我的.conf文件中的以下内容:

server { listen 80; server_name mydomain.net; access_log /var/log/nginx/mydomain.net.access.log main; location / { proxy_pass http://127.0.0.1:9000; proxy_http_version 1.1; proxy_set_header Upgrade \$http_upgrade; proxy_set_header Connection "upgrade"; } } 

这工作得很好……除了所有碰到服务器的东西都被送到这个服务器模块。 我的IP,指向这个块的另一个域,以及实际的mydomain.net都指向只有 mydomain.net指向的内容。

正如文档所述 :

在这个配置中,nginx只测试请求的头部字段“主机”,以确定请求应该被路由到哪个服务器。 如果它的值不匹配任何服务器名称,或者请求根本不包含这个头域,那么nginx会将请求路由到这个端口的默认服务器 。 在上面的配置中,默认服务器是第一个 – 这是nginx的标准默认行为。

这是这种情况。 我执行建议的步骤来删除未定义的主机:

 server { listen 80 default_server; server_name ""; return 444; } 

这解决了我的问题。