为什么要禁止通过服务器ip直接访问Web站点
默认情况下Nginx配置完毕后,是允许ip地址直接访问的。而我们一直以开发者思维处理的话。也容易忽视这这方面存在的风险。
而这样做的风险在于:
其他人将他的域名绑定指向了我们的ip。那么容易造成服务器被网监判定为存在非法域名,造成服务器被断网。
各种ip访问扫码工具,会收集我们的Web应用程序信息,容易造成信息泄露。(access.log中很多通过ip地址访问的记录)
而且,如果碰见互联网清网行动大力度管控时期,所有web服务器都不允许通过ip地址进行访问web服务器,必须使用设定的域名访问web服务器。否则一律清理。
下面介绍禁止通过服务器ip直接访问Web站点的方法:
第一步、首先站点的配置文件改成如下:
server
{
listen 80;
http2 on;
server_name www.xxx.com xxx.com; # 填写网站域名
index index.php index.html index.htm default.php default.htm default.html;
root /www/wwwroot/xxx; # 填写网站根目录路径
}
第二步、Nginx的配置文件改成如下:
server
{
listen 80 default_server;
server_tokens off;
server_name _;
return 444;
}
default_server; 代表默认无匹配的时候由当前的server处理。
server_name _;代表无效域名。
合起来的意思就是,其他server没有匹配的,全部由当前server进行匹配处理。
该server匹配到之后,处理的结果就是直接返回444状态
而前端收到的效果就是ERR_EMPTY_RESPONSE错误了。






