Apache如何禁用恶意域名解析/禁用空主机头
背景:最近在查看网站访客统计记录时,发现非宝塔绑定的域名在访问我的网站,域名解析确认也是没问题的。手动复制哪个域名,输入浏览器确实也能进入到我的网站主页,很是奇怪。
在阿里云提交了工单,工作人员回复说需要禁用空主机头。
查看了宝塔面板,主机的配置信息,也没有明显的空主机头设置,都是有绑定具体域名的,不知道什么原因。
在网上查询了一些资料,比如下方这个修改httpd.conf配置文件的方法。参考设置后,仍然没有效果,当然也找到了区分apache 2.4.1版本前后的方法,都试了不得行。
为了防止域名解析恶意指向,我们需要禁止apache默认的空主机头,操作如下:
vi /etc/httpd/conf/httpd.conf
编辑配置文件,在你的站点配置之前再增加一个站点
这是增加的内容
<VirtualHost *:80>
ServerAdmin yourmail#mail.com
DocumentRoot /error
ServerName abc.com
</VirtualHost>
这是本来的站点内容
<VirtualHost *:80>
ServerAdmin admin#amd5.cn
DocumentRoot “你的站点路径”
ServerName amd5.cn
ServerAlias www.amd5.cn
</VirtualHost>
以上方案测试不行后,又找了其他方法,最终通过rewrite规则的方法,解决了问题。
在宝塔面板种,不用单独的修改htaccess文件,登录后台在站点设置中的伪静态栏目下,RewriteEngine On后方添加下方代码,然后保存即可。
RewriteCond %{HTTP_HOST} !^(www\.)?yourdomain\.com$ [NC]
RewriteRule ^ - [F]
解释:这里的 yourdomain.com 是你希望允许访问的顶级域名。!^(www\.)?yourdomain\.com$ 这个条件表示如果请求的主机名不是 yourdomain.com 或 www.yourdomain.com,则返回 403 Forbidden 错误。
系我爱自学吧原创,转载请注明出处。原文地址:https://5izixue.com/?id=1172