Nginx基于IP的访问控制


配置详解

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需要禁止,可以写多个。

nginx

1.2、重新加载配置文件后进行访问测试。

 •  当使用禁止的IP访问首页时,出现403禁止访问的错误页面。

nginx

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

nginx

2、对于只允许部分用户访问的网站内容(例如:管理后台),可以使用allow允许一个网段,而其它IP拒绝访问。

2.1、将允许访问的IP地址段使用allow写在deny all配置前,若要允许多个IP地址段,可以写多个。

nginx

2.2、重新加载配置文件后进行访问测试。

 •  当使用允许访问的地址段内的IP访问时,能正常访问管理后台。

nginx

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

nginx

发表评论

评论数量:0