所以我有一个单一 IP 的服务器和很多网站,都托管在 nginx 下。这是我实际设置的非常简化的简化:
server {
listen 80;
listen 443 ssl;
server_name ssl.example.com;
#...
}
server {
listen 80;
server_name nossl.example.com;
#...
}
如果我ssl.example.com:443
按预期连接到一切正常。
如果我连接到nossl.example.com:443
,它会尝试提供ssl.example.com:443
.
我已经明白为什么会发生这种情况(这就是 ssl+nginx 与虚拟服务器最匹配的方式),我只需要阻止它从错误的站点发送内容。
没有为我的所有网站购买证书(或颁发我自己的证书),或者将 SSL 网站推到自己的 IP 上,我在这里有什么选择?nginx 可以仔细检查每个 SSL 请求的域并确保它匹配server_name
吗?