我有一个运行 ubuntu 和 nginx 0.8.4 的 ec2 实例,vhosts 使用 http 服务几个不同的域,但一个使用 SSL/https。
安全域配置:
server {
listen 443 ssl;
server_name "securedomain.tld";
ssl_certificate /etc/nginx/certs/securedomain.tld.crt;
ssl_certificate_key /etc/nginx/certs/securedomain.tld.key;
if ($host != $server_name) {
return 444; # this won't work because HTTPS communication has
# been already started, warning message is displayed
}
// ...
}
Run Code Online (Sandbox Code Playgroud)
不安全的域配置:
server {
listen 80;
server_name "unsecuredomain.tld";
// ...
}
Run Code Online (Sandbox Code Playgroud)
现在,使用 https 服务的域正在赶上所有托管域的所有https 流量……这意味着https://unsecuredomain.tld/将显示警告并实际提供来自securedomain.tld:(
问题是,有没有办法阻止 nginx 为所有使用 https 提供服务的不安全域提供服务?例如,通过指定您只想接受给定请求主机的 https 连接……
提示:一个 ec2 …