今天我的伺服器被一個網域惡意解析,查了一下,是301重定向過來的,網上查了一下,發現用關閉空主機頭來防止域名惡意解析,在httpd-vhost.conf裡添加以下程式碼
NameVirtualHost *
<VirtualHost *:80>
DocumentRoot "E:/error"
ServerName abc.com
</VirtualHost>
這個方法的確解決了我的問題,但我不太懂這裡的原理....
滿天的星座2017-05-16 17:01:57
我知道nginx是這樣設定的,Apache的原理應該差不多:
server
{
listen 80 default;
server_name _;
return 444;
}
如果nginx沒有找到server{}裡面匹配的域名,又被惡意解析的話,則使用_
这个默认的server_name,直接返回444
自定义状态码,也就是主动关闭请求。也可以使用499
,這是nginx另一個自訂狀態碼,意思是客戶端等不及伺服器回應,主動關閉連線。