所有主机都重定向到单个nginx proxy_pass

时间:2014-05-14 03:40:01

标签: nginx

我的.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指向的内容。

1 个答案:

答案 0 :(得分:1)

作为documentation states

  

在此配置中,nginx仅测试请求的标头字段“Host”,以确定请求应路由到哪个服务器。 如果其值与任何服务器名称都不匹配,或者请求根本不包含此标头字段,则nginx会将请求路由到此端口的默认服务器。在上面的配置中,默认服务器是第一个 - 这是nginx的标准默认行为。

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

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

这解决了我的问题。