所有主机重定向到一个nginx的proxy_pass(All hosts redirecting t

2019-09-30 08:17发布

我在.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指向。

Answer 1:

由于文档状态 :

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

这是这里的情况。 我执行的建议步骤下降未定义的主机:

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

这解决了我的问题。



文章来源: All hosts redirecting to single nginx proxy_pass
标签: nginx