Heute wurde mein Server in böswilliger Absicht von einem Domänennamen analysiert und festgestellt, dass er von 301 umgeleitet wurde. Ich habe online nachgesehen und festgestellt, dass das Schließen des leeren Host-Headers verwendet werden kann, um das böswillige Parsen von Domänennamen zu verhindern zu httpd-vhost.conf
NameVirtualHost *
<VirtualHost *:80>
DocumentRoot "E:/error"
ServerName abc.com
</VirtualHost>
Diese Methode hat mein Problem gelöst, aber ich verstehe das Prinzip hier nicht ganz....
我知道nginx是这样设置的,Apache的原理应该差不多:
如果nginx没有找到server{}里面匹配的域名,又被恶意解析的话,则使用
_
这个默认的server_name,直接返回444
自定义状态码,也就是主动关闭请求。也可以使用499
,这是nginx另一个自定义状态码,意思是客户端等不及服务器响应,主动关闭连接。就是加入一个虚拟主机,将所有的对于abc.com的访问都用 E:/error 文件夹内部的内容来响应。