nginx防止空主机头域名指向

空主机头域名指向是指,比如我有个www.aaa.com的站点,别人用www.bbb.com域名指向了aaa.com的IP,这样访问www.bbb.com也能显示aaa.com的内容了。
在nginx的配置文件中已经定义了空主机头返回404页面。

vim /etc/nginx/nginx.conf

如下:

server {
        limit_conn addr 10;
        listen       80;
        server_name  _;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            root   /usr/share/nginx/html;
            index  index.html index.htm;
        }

        error_page  404              /404.html;

        location = /404.html {
            root   /usr/share/nginx/html;
        }

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   /usr/share/nginx/html;
        }
...后面省略
}


只要将定义网站的server段放在它的后面就能实现空主机头的域名都返回404页面。

如果nginx.conf没有这个内容将第一个server段设置成这样就可以了。

网上还有两个样例:

返回500错误

server {
        listen 80 default;
        server_name _;
        return 500;
}


跳转到自己域名首页

server {
        listen 80 default;
        server_name _;
        rewrite ^(.*) http://www.aaa.com permanent;
}