删除空主机头方法,禁止恶意域名指向。包含各种应用服务器设置。
工具/原料
IIS
Apache
ngnix
tomcat
一、禁用IIS的空主机头
1、首先,打开IIS,点开网站列表。优先看“默认站点”,很多人机器上实际没有自己放过空主机头,而是IIS刚装好的默认站点就存在空主机头。在“默认站点”上右键-属性,点选“网站”选项卡,点高级,如下图。
2、点开“高级网站标识”对话框后,会看到主机头值为空的标识,点“删除”,将它删除即可(如下图)
3、删除完默认站点的空主机头之后,最好再检查一下其他网站,把所有的空主机头都删除才会生效。删除完空主机头之后,检查确认办法是:直接在浏览器输入IP地址,看页面是否不能打开或者报错。
二. 禁用Apache的空主机头
1、为了防止域名解析恶意指囿鹣分胰向,我们需要禁止apache默认的空主机头,操作如下:配置文件所在目录:Windows:安装目录\conf\n爿讥旌护ginx.confLinux:/etc/httpd/conf/httpd.confApache2.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>
三. 禁用ngnix的空主机头
1、为了防止域名解析恶意指囿鹣分胰向,我们需要禁止nginx默认的空主机头,操作如下:配置文件所在目录:Linux下: /usr/local/n爿讥旌护ginx/conf/nginx.confwindows下:安装目录\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; #页面重定向}
四. 禁用tomcat的空主机头
1、修改tomcat/conf/server.xml,找到engine元素<Enginename="Catalina"defaultHost="forbiden"><RealmclassName="org.apache.catalina.realm.UserDatabaseRealm" resourceName="UserDatabase"/><!--allowhosts--><Hostname="localhost"appBase="webapps" unpackWARs="true"autoDeploy="true" xmlValidation="false"xmlNamespaceAware="false"></Host><Hostname="www.yourdomain.com"appBase="webapps" unpackWARs="true"autoDeploy="true" xmlValidation="false"xmlNamespaceAware="false"></Host> <Hostname="192.168.1.3"appBase="webapps" unpackWARs="true"autoDeploy="true" xmlValidation="false"xmlNamespaceAware="false"></Host> <!--forbidenhost,theappBaseisanotexistsdirectory. Iftherequesteddomainisnotintheabovelistofhostswhereareallowed,thenusethishost. --><Hostname="forbiden"appBase="notexists" unpackWARs="true"autoDeploy="true" xmlValidation="false"xmlNamespaceAware="false"></Host> </Engine>这里将Engine中的defaultHost设置为forbiden,下面有个name为forbiden的host,其appBase是个不存在的目录。再添加允许的host。所以,如果是未知的域名,则会使用forbiden的host,这样就访问不到真实应用目录了。