禁止IP访问网站,防止服务器被恶意解析

最近越来越有迹象表明,针对idc的监控将越来越严厉。甚至一些服务器上不存在的域名,只要有dns指向你的服务器,并且有访问,就会被“监管”。

新建一个站点,域名可以随便填写一个不用的,配置里添加 return 444; 。并设置为默认站点,所有未绑定的域名和IP都被定向到默认站点,直接IP访问也不会响应。

对于我常用的nginx来说,即使是访问服务器上不存在的域名时,nginx也会返回一个出错页面“bad hostname”之类的。
解决方法是在nginx的配置文件中(nginx.conf)加入一个处理默认(就是不符合其他任何已有的vhost)server的项目:

server {
listen 80 default_server;
server_name _;
return 444;
}

default_server 是 8.21+加入的参数,如果低于8.21 ,则可以注意将下面代码放在其他server项前面

server {
listen 80 ;
return 444;
}

这其中最关键的是 magic number 444 。 444是nginx内置的错误代码。对我们来说 return 444 比 return 404还要好。因为 nginx 下即使return 404,也会有返回的header和一个包含错误信息的html body。但是return 444,服务器会立刻关闭连接,就好象服务不存在一样。

如果是宝塔环境请修改网站配置文件,添加一行return 444;,保存。
444.jpg
这时候,所有没有绑定的域名解析到服务器都不会响应,而不是宝塔的错误页面。

© 版权声明
THE END
如果喜欢,可以【点赞】【分享】【收藏】
点赞5赞赏 分享
评论 抢沙发
头像
非注册用户需审核通过后才能查看。友好交流,勿发纯表情,勿恶意灌水!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容