站点防止域名恶意解析
背景说明:
使用云主机的客户,经常会遇到自己的站点被他人域名进行解析,会导致非法流量进入。对于这种恶意模仿本站点的行为,可以通过如下方法进行处理
1.向域名提供的服务商投诉,请服务商联系域名所有者,协调沟通解决恶意解析行为。
2.在服务器层面进行处理,使非法解析无法获取站点内容。
通常遇到这种恶意解析域名访问网站的情况,是用户的网站允许通过IP进行访问,此时只要他人将域名解析到用户的网站,即可实现对这个网站的访问。所以避免这个问题的方案可以禁止服务器中的网站通过IP进行访问
服务器配置方法
根据web服务器类型的不同,大概可分为三种,分别是Apache、Nginx、IIS
Apache配置方法:
vim /etc/httpd/conf/httpd.conf
##在配置文件最后添加
NameVirtualHost *:80
ServerName $服务器本机公网IP
Order Allow,Deny
Deny from all
DocumentRoot "/var/www/html"
ServerName $服务器对外访问域名
ServerAlias $服务器对外访问的别名
Nginx配置方法:
# 设置不允许Ip访问web(default_server)
server {
listen 80 default_server;
server_name _;
return 403;
}
# 设置域名
server {
listen 80;
server_name $服务器对外访问域名;
location /ngx_status {
stub_status on;
access_log off;
}
location /status {
include fastcgi_params;
fastcgi_pass 127.0.0.1:9000;
fastcgi_param SCRIPT_FILENAME $fastcgi_script_name;
}
}
IIS配置方法:
IIS作为Web服务,如何禁止通过IP访问,避免其他非自己的域名解析到服务器IP之后也能访问网站的情况?出现此情况的大部分原因都是在原有空主机头的基础上添加了自己的域名,IIS会因为空主机头的存在,通过IP直接访问到服务器中IIS的默认站点,如果有其他域名解析到服务器的IP,就可以直接访问到这个网站。
解决方法:
登陆服务器打开IIS管理器,右键点击配置的站点选择编辑绑定。可以将空主机头删除,只保留自己需要的域名
Apache参考:https://blog.csdn.net/qq_21956483/article/details/54098252