Nginx禁止未绑定域名或IP访问443端口

简单架构:客户端→F5→Nginx

问题:例,a.xxx.com 开启了https,访问https://a.xxx.com ,正常,访问未配置https的域名,如 https://b.xxx.com 会打开https://a.xxx.com 的内容(原因不详,可能跟F5的转发配置有关,没有做虚拟主机绑定)

解决办法:为Nginx的443端口设置默认域名default_server,并拒绝访问

配置:

server {
     listen 443 default_server;
     server_name _ ;
     ssl on;
     ssl_certificate         随便设置一个ssl证书;                
     ssl_certificate_key 随便设置一个ssl证书的key;
     return 444;
}

注意:
ssl_certificate 随便设置一个ssl证书;
ssl_certificate_key 随便设置一个ssl证书的key;

这两行配置必须要有,否则Nginx会拒绝所有443的连接(正常开启https的域名也会无法访问,大坑)

相关文章
相关标签/搜索