其他人在preview.theirdo.com.com上使用我的AWS EC2,因此我的节点服务器(在nginx后面)显示在谷歌搜索mydomain.com。
我已经关注了nginx陷阱,或者至少尝试过,但无法弄清楚为什么我的服务器仍在响应他们的域名。
这会阻止服务器完全响应,无论是www.mydomain.com还是preview.theirdomain.com。不是一个好的解决方案
当我注释掉第二台服务器listen 443; ...
时,服务器完全对www.mydomain.com和preview.theirdomain.com开放
的/ etc / nginx的/ /默认启用位点-:
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
}
来自google域名我只转发www.mydomain.com,正如您所看到的,服务器将所有内容重新路由到ssl。在preview.theirdomain.com上,https无效,因为我的证书仅适用于www.mydomain.com
/ etc / nginx / sites-enable中没有其他文件,而且我的想法用完了。
答案 0 :(得分:0)
我在Freenode #nginx得到了帮助,解决方案是将default_server
添加到我的服务器。
server{
listen 443 ssl default_server;
server_name www.mydomain.com;
#more stuff that works
}
我确信有充分的理由。将它留在这里为其他任何处于崩溃边缘的人。