51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

Nginx配置访问IP白名单

某些场景下,需要将一些IP或网段列入白名单,仅允许特定的人员访问,本文以Nginx为例配置IP白名单访问。

Nginx白名单使用allow和deny来控制,该配置可以添加在http段,也可以server、location中。

如果想增加允许访问的IP范围,例如10.10.10.0~10.10.10.255,需要使用CIDR格式表示你的IP范围,在Nginx中默认仅允许IP地址和CIDR格式,CIDR转IPv4网站:https://www.ipaddressguide.com/cidr

例一:

如果想对整个Nginx下所有网站设置IP访问白名单,可以配置在http段中,如:仅允许10.10.10.10的访问,其他所有IP均不能访问。
http { ...... allow 10.10.10.10; deny all; ...... }

|-------------|-----------------------------------------------------| | 1 2 3 4 5 6 | http { ...... allow 10.10.10.10; deny all; ...... } |

例二:

允许10.10.10.11和10.10.10.55访问blog.whsir.com域名,可直接在对应域名的server字段中配置,即
server { server_name blog.whsir.com; allow 10.10.10.11; allow 10.10.10.55; deny all; ...... }

|---------------|-----------------------------------------------------------------------------------------------| | 1 2 3 4 5 6 7 | server { server_name blog.whsir.com; allow 10.10.10.11; allow 10.10.10.55; deny all; ...... } |

注:如果http字段和server字段同时配置了多个allow的IP,server字段中的allow也会生效,当然server字段中的allow仅对当前server域名生效。

例三:

仅允许10.10.10.0~10.10.10.255对某个URI地址进行访问,即
location /text/login { allow 10.10.10.0/24; deny all; }

|---------|---------------------------------------------------------| | 1 2 3 4 | location /text/login { allow 10.10.10.0/24; deny all; } |

修改配置文件后,仅需nginx -s reload命令即可,无需restart。

附:

Nginx根据用户IP设置访问跳转

Nginx通过geo模块设置白名单

赞(0)
未经允许不得转载:工具盒子 » Nginx配置访问IP白名单