有时候我们不希望某个IP或用户访问我们的网站,那么我们就可以拒绝该用户的连接请求,那么Nginx如何设置拒绝某个IP访问我们的网站呢?下面小编就给大家分享下配置方法。
哪些情况我们需要拒绝用户访问我们的网站?
恶意攻击、恶意注册、恶意扫描...等情况,一切都是为了网站安全着想。
在nginx主配置文件或者虚拟主机的配置文件 server { } 段中加入一行:
在nginx下的 conf 目录创建 denyip.conf 文件内容为:
保存退出,nginx就会生效,若不生效,我们则需要重载一下或重启一下服务。
多个ip的话就写多行,并且支持ip段写法:
Nginx禁止某个网段用户访问网站写法:
Nginx允许某几个ip访问网站写法:
加到deny中的IP再访问网站的时候,nginx就会提示:403错误。
通过这种方法在线上环境中比较有用的是对phpmyadmin,或者网站后台之类的做权限控制,phpmyadmin的漏洞hacker们用的还是比较多的,反正我是因为phpmyadmin忘记关被黑了两次。这样一来限定指定IP可以访问phpmyadmin,相对提高了server安全性。
当然,把phpmyadmin做成单独一个虚拟主机,换个不常用的端口,甚至修改phpmyadmin名称让hacker无法猜出路径也是不错的办法。
温馨提示:很多新手网站长不知道,比如:denyip.conf 这个规则文件应该放到哪里,若是用BT宝塔面板的用户,直接放到:nginx/conf目录下即可。