1

我有一台服务器在运行:http://localhost:8080

我正在配置一个示例NGINX服务器。

我从互联网上复制了以下配置:

# user  nobody;
worker_processes  1;

error_log  logs/error.log;
error_log  logs/error.log  notice;
error_log  logs/error.log  info;

events {
    worker_connections  1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile            on;
    keepalive_timeout   65;
    # gzip              on;

    server
    {
        listen 80;
        server_name mydomain01.com www.mydomain01.com;

        location /
        {
            proxy_pass http://localhost:8080;
            include "../proxy_params.conf";
        }
    }

}

在 hosts 文件中,我只有以下条目:

127.0.0.1 mydomain01.com
127.0.0.1 www.mydomain01.com;
127.0.0.1 mydomain02.com
127.0.0.1 www.mydomain02.com;

当我去: http: //mydomain01.com我得到相同的内容:http://localhost:8080

我的问题是:

为什么当我访问:http://mydomain02.com时,我也会得到与http://localhost:8080相同的内容?

我认为我不应该获得该内容,因为最后一个域不在NGINX配置中。

我上面的配置有错误吗?

谢谢!

4

1 回答 1

0

nginx 始终包含一个默认服务器server_name,它将处理与指令不匹配的服务器名称的请求。如果不定义 a default_servernginx将使用server与匹配的第一个块location。有关详细信息,请参阅此文档

于 2018-06-01T09:06:50.407 回答