问题:Nginx如何防止用户IP访问网站(恶意域名解析,也相当于是直接IP访问企业网站)?
方法一:让使用IP访问的网站的用户,或者恶意解析域名的用户,收到501错误,命令如下:
server {
listen 80 default_server;
server_name _;
return 501;
}
# 注意:直接报501错误,从用户体验上不是很好
方法二:通过301跳转到主页,命令如下:
server {
listen 80 default_server;
server_name _;
rewrite ^(.*) http://www.baidu.com;
}
方法三:发现某域名恶意解析到公司服务器的IP,在server标签里面添加以下代码即可,若有多个server,则每个server里面都要添加
if ($host !~ ^www\.test\.com$) {
rewrite ^(.*) http://www.baidu.com permanent;
}
#此段代码的意思是,如果header信息的host主机名字段非www.test.com,就301跳转到www.baidu.com。
=================================================
声明:摘自《跟老男孩学Linux系统运维》
=================================================