问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

Nginx 基于 IP 地址的访问限制

创作时间:
作者:
@小白创作中心

Nginx 基于 IP 地址的访问限制

引用
CSDN
1.
https://blog.csdn.net/TM007_/article/details/139214126

Nginx是一种高性能的HTTP和反向代理服务器,其基于IP地址的访问限制功能可以有效增强服务器安全性。本文将详细介绍如何通过Nginx配置实现IP访问控制,包括允许/禁止所有IP、本地访问、多个IP以及IP地址段的访问限制。

一、限制 IP 可以实现哪些功能

通过在 Nginx 中限制部分 IP 地址可以实现以下功能:

  1. 访问控制:限制特定 IP 地址或 IP 地址范围对服务器访问,增强系统安全性。
  2. 防止恶意攻击:通过禁止已知的恶意 IP 地址,可以减少如 DDoS 等攻击风险。
  3. 地理位置限制:根据 IP 地址还可以限制特定地理区域的访问,例如限制只允许部分地区的用户访问。
  4. 内部网络访问:只允许内部网络的 IP 地址访问,确保服务仅对内部员工可用。
  5. 访问限制:根据需要设置白名单或黑名单,限制特定 IP 地址的访问。
  6. 流量控制:限制来自特定 IP 地址的请求频率,保护服务器资源不被耗尽。

二、项目实现

2.1 访问控制实现

本地简单的模拟下,限制指定 IP 访问。环境准备:可启动的 Nginx 服务,简单的可运行项目,测试接口,这里使用的是前几篇测试的项目。

2.2 Nginx 配置中指定 IP 地址

2.2.1 粗暴的限制所有 IP 均不能访问

再次访问页面会出现 forbidden 提示,说明被限制访问,结果如下:

2.2.2 限制只有本地可以访问

这里通过配置 allow 只允许 127.0.0.1 访问

注: allow 和 deny 字段的先后顺序不能乱,这里如果是先 deny 再 allow 则不起作用,限制全部 IP,本地还是无法访问

2.2.3 处理多个 IP

设置多个 IP 访问也是通过 allow ,deny 属性配置,这里就不做演示了,配置大概如下:

// 设置白名单
location / {
  allow 192.168.1.66;
  allow 192.168.1.67;
  deny all;
  ...
}

// 设置黑名单
location / {
  deny 192.168.1.66;
  deny 192.168.1.67;
  allow all;
  ...
}

2.2.4 处理 IP 地址段

根据客户端的IP地址是否在192.168.1.0/24网段内,允许是否访问

location / {
  allow 192.168.1.0/24;
  deny all;
  ...
}

三、章末

有关 Nginx 的自我学习就先到这篇文章了,因为时间关系以及工作中使用到的程度,后面有时间再学习更深层次的吧。

文章到这里就结束了~

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号