nginx禁止未绑定的域名访问

禁止所有未授权域名及IP访问

添加一条default_server的规则,如下:

server {
    listen 80 default_server;
    listen 443 ssl default_server;
    server_name _;

    ssl_certificate <path to cert>;
    ssl_certificate_key <path to key>;
    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错误。

将所有未授权域名及IP访问跳转到指定网页

server {
    listen 80 default_server;
    server_name _;
    rewrite ^(.*)  http://zengwu.com.cn permanent;
}
0%