问题描述
今天我的服务器被一个域名恶意解析,查了一下,是301重定向过来的,网上查了一下,发现用关闭空主机头来防止域名恶意解析,在httpd-vhost.conf里添加以下代码
NameVirtualHost *<VirtualHost *:80>DocumentRoot 'E:/error'ServerName abc.com</VirtualHost>
这个方法的确解决了我的问题,但是我不太懂这里的原理....
问题解答
回答1:我知道nginx是这样设置的,Apache的原理应该差不多:
server{ listen 80 default; server_name _; return 444; }
如果nginx没有找到server{}里面匹配的域名,又被恶意解析的话,则使用_这个默认的server_name,直接返回444自定义状态码,也就是主动关闭请求。也可以使用499,这是nginx另一个自定义状态码,意思是客户端等不及服务器响应,主动关闭连接。
回答2:就是加入一个虚拟主机,将所有的对于abc.com的访问都用 E:/error 文件夹内部的内容来响应。