当前位置: 首页 > news >正文

Nginx IP 限制与路径访问控制配置

Nginx IP 限制与路径访问控制配置

1. 简介

在某些应用场景下,特定路径需要免登录访问,但为了安全考虑,限制只有指定的 IP 地址才能访问该路径。本文档描述了如何在 Nginx 中配置 IP 限制,并在未授权访问时返回 401 Unauthorized 错误。

2. 场景描述

在集成项目中,有一个路径 /demo,要求免登录访问,但需要通过 IP 限制来控制访问权限。只有指定的 IP 地址可以访问该路径,其它 IP 地址访问时返回 401 Unauthorized

3. Nginx 配置

为实现上述功能,我们将修改 Nginx 的配置文件,具体步骤如下:

3.1 基本路径配置

以下是初始的路径配置,路径别名指向 $base_dir/demo,并且指定了默认的索引文件。

location /demo {alias $base_dir/demo ;index index.html index.htm;try_files $uri $uri/ /demo /index.html;
}

3.2 添加 IP 限制

为了限制只有特定的 IP 地址能够访问 /demo ,我们在路径配置中添加 allowdeny 指令。

location /demo {alias $base_dir/demo ;index index.html index.htm;try_files $uri $uri/ /demo /index.html;# IP 限制allow 192.168.1.100;  # 允许访问的IP,可以添加多个 allow 行allow 192.168.1.101;  # 示例:再添加一个允许的IPdeny all;  # 拒绝所有其他IP# 返回 401 Unauthorizederror_page 403 401 = @error401;
}

3.3 自定义 401 错误页面

在 Nginx 中,默认的 403 Forbidden401 Unauthorized 错误页面可以通过 error_page 指令重定向到自定义位置。

location @error401 {return 401;
}

3.4 完整配置示例

以下是添加了 IP 限制并返回 401 Unauthorized 的完整 Nginx 配置示例。

location /demo {alias $base_dir/demo ;index index.html index.htm;try_files $uri $uri/ /demo /index.html;# IP 限制部分allow 192.168.1.100;  # 允许访问的IP,可以添加多个 allow 行allow 192.168.1.101;  # 示例:再添加一个允许的IPdeny all;  # 拒绝所有其他IP# 返回 401 Unauthorizederror_page 403 401 = @error401;
}location @error401 {return 401;
}

4. 配置说明

  • allow 192.168.1.100;:只允许指定的 IP 地址 192.168.1.100 访问路径 /demo
  • deny all;:拒绝所有未在 allow 中指定的 IP 地址。
  • error_page 403 401 = @error401;:将 403 Forbidden401 Unauthorized 错误页面重定向到自定义位置 @error401
  • location @error401:定义了一个内部位置,当发生错误时,返回 401 Unauthorized

5. 验证配置

完成配置修改后,请通过以下步骤验证配置的正确性:

  1. 语法检查:使用 nginx -t 命令检查 Nginx 配置语法是否正确。
  2. 重载配置:在语法检查通过后,使用 nginx -s reload 重载 Nginx 配置。
  3. 访问测试:使用允许的 IP 地址和不允许的 IP 地址访问 /jjldanketv,验证配置是否生效。

6. 结论

通过在 Nginx 配置文件中使用 allowdeny 指令,可以有效地限制特定路径的访问权限。只有指定的 IP 地址可以访问该路径,而其他 IP 地址将收到 401 Unauthorized 的响应。

这不仅提升了安全性,还确保了资源的合理使用。如果在配置过程中遇到任何问题,请参阅 Nginx 官方文档或联系技术支持。


http://www.mrgr.cn/news/7113.html

相关文章:

  • aosp源码导入android studio无法跳转-学员答疑
  • Web应用加密数据传输方案
  • 【计算机组成原理】三、存储系统:5.页式存储、虚拟存储
  • 车牌号字符检测系统源码分享 # [一条龙教学YOLOV8标注好的数据集一键训练_70+全套改进创新点发刊_Web前端展示]
  • 大数据技术之Zookeeper实现分布式锁(5)
  • 最近最少使用数据结构(LRU)
  • 智算中心网络交换机缓存架构解析
  • flume系列之:flume生产环境sink重要参数理解
  • 广州自闭症学校哪家好?
  • 【大模型理论篇】基于3D可视化视角理解GPT
  • STM32————SPI硬件外设实现读写
  • Spring Boot-加载配置文件ConfigDataEnvironmentPostProcessor
  • 25届网安秋招,信息泄露常问之配置信息泄露
  • 外网爆火的LLM应用手册来了!内行人都在学的大模型黑书,豆瓣评分高达9.9!!!
  • 【Python机器学习】NLP概述——自然语言智商
  • 【OpenFeign】OpenFeign指定url方式调用
  • K8S 基于本地存储的一主一从 MySQL 架构
  • 程序员的恐惧之源-改需求
  • Flat Ads:全球金融应用的营销投放洞察
  • 金融帝国实验室(Capitalism Lab)官方技术支持中文汉化包_v4.09