【问题标题】:nginx responds to all domainsnginx 响应所有域
【发布时间】:2016-10-26 23:46:17
【问题描述】:

其他人在 preview.theirdomain.com 上使用我的 AWS EC2,因此我的节点服务器(在 nginx 后面)显示在 google 搜索 mydomain.com 上。

我已经跟踪了 nginx 的陷阱,或者至少尝试过,但无法弄清楚为什么我的服务器仍在响应 theirdomain.com。

这会阻止服务器完全响应 www.mydomain.com 和 preview.theirdomain.com。不是一个好的解决方案

当我注释掉第二个服务器 listen 443; ... 时,服务器对 www.mydomain.com 和 preview.theirdomain.com 完全开放

/etc/nginx/sites-enabled/默认:

server {
    listen 80;
    server_name preview.theirdomain.com;
    return 404;
}
server{
       listen 443;
       server_name preview.theirdomain.com;
       return 404;
}

server {
    listen 80;
    return 404;
}
server {
    listen 80;
    server_name www.mydomain.com;
    return 301 https://$host$request_uri;
}


server {
    listen 443 ssl;

    server_name www.mydomain.com;

    #more stuff that works
}

从谷歌域我只转发 www.mydomain.com,正如你所看到的,服务器将所有内容重新路由到 ssl。在 preview.theirdomain.com 上,https 不起作用,因为我的证书仅适用于 www.mydomain.com

/etc/nginx/sites-enables 中没有其他文件,我的想法不多了。

【问题讨论】:

    标签: ssl nginx amazon-ec2 dns


    【解决方案1】:

    我在 Freenode #nginx 获得了帮助,解决方案是将 default_server 添加到我的服务器。

    server{
        listen 443 ssl default_server;
        server_name www.mydomain.com;
    
        #more stuff that works
    }
    

    我相信这是有充分理由的。把它留在这里给其他濒临崩溃的人。

    【讨论】:

      猜你喜欢
      • 2012-04-07
      • 1970-01-01
      • 2015-01-04
      • 1970-01-01
      • 2017-08-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-03-15
      相关资源
      最近更新 更多