空主机头域名指向是指,比如www.aaa.com的站点,用www.bbb.com域名指向了aaa.com的IP,这样访问www.bbb.com也能显示aaa.com的内容了。参考链接:nginx 禁止ip访问与关闭空主机头
在nginx配置文件中,已定义了空主机头返回404页面。
vim /etc/nginx/nginx.conf
如下:
server {
limit_conn addr 10;
listen80;
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错误
跳转到自己域名首页
二、nginx关闭空主机头简单方法
空主机头就是随便一个IP指过你服务器都可以正常打开了,这个打开的是你主机中一一个网站,那么nginx关闭怎么空主机头呢,下面我来一起来看看。
之前新一有在博客中说过自己买了一台vps,今天看到一个陌生域名解析到这台vps上面了。这样被人家恶意解析,对自己资源是一种浪费。对seo也不很不友好的。所以新一准备关闭空主机头。
把上面的配置放到nginx.conf的http模块中,然后重启nginx就可以了。
为nginx设置默认虚拟主机(空主机头,默认主机头)
关键,在server的设置里面添加这一行:
listen 80 default;
后面的default参数表示这个是默认虚拟主机。
这个设置非常有用。
比如别人通过ip或者未知域名访问你的网站的时候,你希望禁止显示任何有效内容,可以给他返回500.
目前国内很多机房都要求网站主关闭空主机头,防止未备案的域名指向过来造成麻烦。就可以这样设置:
收集流量导入自己的网站,做以下跳转设置: