如果我们在域名管理中解析了某个域名,但是我们的服务器还未绑定配置相关的代理映射。那这时使用已经解析的域名就可能会访问到了服务器上的其他项目,可以使用以下配置解决。
1. 禁止所有已解析未授权域名及IP访问
添加一条default_server的规则
server {
listen 80 default_server;
listen 443 ssl default_server;
server_name _;
ssl_certificate 你的ssl证书pem路径;
ssl_certificate_key 你的ssl证书keym路径;
return 403;
}
listen 80 default_server: 指定该 server 配置段为 80 端口的默认主机,即对于未绑定的域名指向你的服务器时,匹配不到你配置的虚拟主机域名后,会默认使用这个虚拟主机。
listen 443 ss default_server: 指定该 server 配置段为 443 端口的默认主机,即对于未绑定的域名指向你的服务器时,匹配不到你配置的虚拟主机域名后,会默认使用这个虚拟主机。
server_name : 此处的可以换成任意其他无效字符或无效的域名,表示该 server 配置不会被正常访问到。
ssl_certificate、ssl_certificate_key:ssl证书,随便弄个证书就可以了,不然nginx加载配置会报错。
return 403:设置默认ip的80、443端口下的所有为绑定域名访问后,返回403错误。
2. 将所有未授权域名及IP访问跳转到指定网页
server {
listen 80 default_server;
server_name _;
rewrite ^(.*) http://www.baidu.cn permanent;
}
之后记得重载nginx配置生效哦!