删除空主机头方法
1、 首先,打开IIS,点开网站列表。优先看“默认站点”,很多人机器上实际没有自己放过空主机头,而是IIS刚装好的默认站点就存在空主机头。在“默认站点”上右键-属性,点选“网站”选项卡,点高级,如下图。

2、点开“高级网站标识”对话框后,会看到主机头值为空的标识,点“删除”,将它删除即可(如下图)

3、删除完默认站点的空主机头之后,最好再检查一下其他网站,把所有的空主机头都删除才会生效。
删除完空主机头之后,检查确认办法是:直接在浏览器输入IP地址,看页面是否不能打开或者报错。
1、为了防止域名解析恶意指向,我们需要禁止apache默认的空主机头,操作如下:
配置文件所在目录:
Windows:
安装目录\conf\nginx.conf
Linux:
/etc/httpd/conf/httpd.conf
Apache2.4.1之前版本在配置文件最后新增如下配置:
#直接拒绝所有非法域名 <VirtualHost *:80> ServerName * ServerAlias * <Location /> Order Allow,Deny Deny from all </Location> ErrorLog "/alidata/log/httpd/error.log" CustomLog "/alidata/log/httpd/info.log" common </VirtualHost>
Apache2.4.1之后版本在配置文件最后新增如下配置:
#禁止所有非法域名 <VirtualHost *:80> ServerName 服务器ip ServerAlias * <Location /> Order Allow,Deny Deny from all </Location> </VirtualHost>
1、为了防止域名解析恶意指向,我们需要禁止nginx默认的空主机头,操作如下:
配置文件所在目录:
Linux下: /usr/local/nginx/conf/nginx.conf
windows下:安装目录\conf\nginx.conf
找到server,添加下面几行:
listen 80 default; #default代表默认虚拟主机
server_name _;
例如:
server {
listen 80 default;
server_name _;
return 500; #返回500错误信息或者444
}
还可以把这些空的流量转向到某一个网站,如下设置:
server {
listen 80 default;
server_name _;
rewrite ^(.*) http://某个网址 permanent; #页面重定向
}
1、修改tomcat/conf/server.xml,找到engine元素
<Engine name="Catalina" defaultHost="forbiden">
<Realm className="org.apache.catalina.realm.UserDatabaseRealm" resourceName="UserDatabase"/>
<!-- allow hosts -->
<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false"></Host>
<Host name="www.yourdomain.com" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false"></Host>
<Host name="192.168.1.3" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false"></Host>
<!-- forbiden host, the appBase is a not exists directory. If the requested domain is not in the above list of hosts where are allowed, then use this host. -->
<Host name="forbiden" appBase="notexists" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false"></Host>
</Engine>
这里将Engine中的defaultHost设置为forbiden,下面有个name为forbiden的host,其appBase是个不存在的目录。再添加允许的host。所以,如果是未知的域名,则会使用forbiden的host,这样就访问不到真实应用目录了。