配置详解
Nginx基于IP地址的访问控制可以通过指令allow(允许)和deny(拒绝)实现,allow与deny指令默认已包含在内置模块ngx_http_access_module中。
语法规则
- allow 允许访问的IP地址;
- deny 拒绝访问的IP地址;
配置说明
1、allow与deny允许与拒绝访问的IP地址写法有以下四种:
- IPv4或IPv6地址:例如192.168.0.1。
- IP地址段:例如192.168.0.0/24。
- unix::Unix域套接字。
- all:所有IP地址。
注意事项
allow与deny指令针对不同的作用域可以配置在http、server和location块中。
allow与deny指令可以同时配置,并且每条指令都可以配置多条,当配置有多条指令时,Nginx会从上至下依次进行规则匹配,一旦匹配成功会立即执行allow或deny指令,后续的规则会被完全忽略。
配置示例
1、对于恶意访问的IP,可以使用deny将此IP禁止,而其它IP不受影响。
1.1、将需要禁止的IP使用deny写在allow all配置前,若有多个IP需要禁止,可以写多个。

1.2、重新加载配置文件后进行访问测试。
• 当使用禁止的IP访问首页时,出现403禁止访问的错误页面。

• 当使用其它的IP访问时,能正常访问网站首页。

2、对于只允许部分用户访问的网站内容(例如:管理后台),可以使用allow允许一个网段,而其它IP拒绝访问。
2.1、将允许访问的IP地址段使用allow写在deny all配置前,若要允许多个IP地址段,可以写多个。

2.2、重新加载配置文件后进行访问测试。
• 当使用允许访问的地址段内的IP访问时,能正常访问管理后台。

• 当使用允许访问的地址段外的IP访问管理后台时,出现403禁止访问的错误页面。
