nginx黑白名单-元一软件 什么是黑白名单黑白名单是一种用于管理和控制系统访问权限的机制。黑名单是指被禁止访问或使用的对象或资源列表而白名单则是指被允许访问或使用的对象或资源列表。在网络安全领域黑白名单通常用于限制对特定网站、IP地址或应用程序的访问以保护系统免受恶意攻击或未经授权的访问。注意黑白名单也可以用于过滤垃圾邮件、拦截恶意软件等。Nginx 黑白名单在 Nginx 中当我们需要指定或者禁止某些 ip 访问服务时此时可以使用黑白名单机制Nginx 通过 allow、deny 配置项来实现黑白名单。限制单个 IP如果仅仅限制单个 IP我们可以直接在 location 里面编写例如# 配置工作进程数量worker_processes1;events{# 设置工作进程可以同时打开的最大连接数worker_connections1024;}http{# 引用 MIME 类型include mime.types;default_type application/octet-stream;server{listen8080;server_name localhost;location /{# 设置请求的根目录root html;# 定义将用作索引的文件index index.html index.htm;# 【关键位置】# 屏蔽 192.177.12.222 访问deny127.0.0.1;# 屏蔽 127.0.0.1 到 127.255.255.254 网段中的所有 IP 访问deny127.0.0.0/8;# 允许 192.177.44.201 访问allow192.177.44.201;# 允许 127.45.0.1 到 127.45.255.254 网段中的所有 IP 访问allow127.45.0.0/16;# 除开上述 IP 外其他 IP 全部禁止访deny all;}}}批量限制 IP如果我们需要批量限制 IP则需要创建 .conf 文件来配置例如1在 Nginx 的 conf 目录下面创建白名单文件 white.conf如下allow127.0.0.1;# 允许 127.0.0.1 访问allow192.177.12.222;# 允许 192.177.12.222 访问allow192.177.44.201;# 允许 192.177.44.201 访问allow127.45.0.0/16;# 允许 127.45.0.1 到 127.45.255.254 网段中的所有 IP 访问deny all;# 除开上述 IP 外其他 IP 全部禁止访问注意你也可以将配置文件放在任何你想要的地方然后采用绝对地址引用如include /webapp/white.conf2在 Nginx 的 conf 目录下面创建黑名单文件 black.conf如下deny192.177.12.222;# 屏蔽 192.177.12.222 访问deny192.177.44.201;# 屏蔽 192.177.44.201 访问deny127.0.0.0/8;# 屏蔽 127.0.0.1 到 127.255.255.254 网段中的所有 IP 访问3最后在 nginx 配置文件中引入如下# 【目的】# 实现黑白名单批量限制IPworker_processes1;events{worker_connections1024;}http{include mime.types;default_type application/octet-stream;# 屏蔽该文件中的所有IPinclude black.conf;server{listen8080;server_name localhost;location /{root html;index index.html index.htm;# 【关键位置】# 开放给白名单中的IPinclude white.conf;}}}注意同时也可以通过 ngx_http_geo_module、ngx_http_geo_module 第三方库去实现这种方式可以按地区、国家进行屏蔽并且提供了 IP 库。