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

news/2024/9/18 14:55:46/ 标签: linux, 运维, 服务器

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.ppmy.cn/news/1516949.html

相关文章

OpenAI推出新功能:GPT-4o正式上线微调功能,限时免费!

GPT-4o正式上线微调功能,限时免费! 每个组织每天可以免费获得多达100万个训练token,活动将持续到9月23日。 这意味着开发者们现在可以利用自定义数据集对GPT-4o进行微调,从而以较低的成本构建自己的应用程序。 据悉,G…

Datawhale AI夏令营第五期CV方向-城市管理违规行为智能识别-Task1

赛题解析 城市管理违规行为智能识别 初赛任务是根据给定的城管视频监控数据集,进行城市违规行为的检测。违规行为主要包括垃圾桶满溢、机动车违停、非机动车违停等。 选手需要能够从视频中分析并标记出违规行为,提供违规行为发生的时间和位置信息。 数…

提示工程自动化实践

提示工程很糟糕。 这是使用大型语言模型最乏味的部分。这些模型非常挑剔,对提示进行看似无害的更改可能会导致截然不同的结果。我厌倦了手动调整、不系统的变化以及与手动提示工程相关的头痛…… 首先让我们统一认识,提示工程是指对 AI 模型给出的指令…

Elasticsearch 8 RAG 技术分享

Tech Day 本文由Elastic 中国区首席架构师 Jerry Zhu 在【AI搜索 TechDay】上的分享整理而成。【AI搜索 TechDay】 是 Elastic 和阿里云联合主办的 AI 技术Meetup系列,聚焦企业级 AI 搜索应用和开发者动手实践,旨在帮助开发者在大模型浪潮下升级 AI搜索…

探索Facebook的AI算法:如何优化用户体验

在数字化时代,社交媒体平台不断引领着技术创新的潮流。作为全球领先的社交平台之一,Facebook在人工智能(AI)算法的应用上取得了显著进展,极大地提升了用户的社交体验。本文将探讨Facebook如何通过先进的AI算法优化用户…

第4章 汇编语言和汇编软件

第4章 汇编语言和汇编软件 该章主要介绍了汇编语言和汇编语言编译器的安装和使用。 汇编语言程序 该小节主要介绍了为什么要有汇编语言和汇编语言程序的一些基础写法。 书中有提到CPU有不同的架构,汇编语言有不同的风格,那么不同的CPU架构和不同的汇…

RPA自动化流程机器人在企业财务中的安全与合规性考虑

随着企业对数字化转型的需求不断增加,财务系统变得更加复杂和集成,而新技术的应用将改变企业财务管理传统的运营模式,帮助企业提质增效的同时也可能带来系统安全性的挑战。RPA自动化流程机器人作为最受企业欢迎的数字化转型工具之一&#xff…

【C语言】深入理解指针3(附转移表源码)

深入理解指针3 1.字符指针变量2.数组指针变量2.1是什么2.2应用 3.二维数组传参的本质4.函数指针变量4.1函数指针变量的创建和使用4.2 typedef关键字 5.函数指针数组6.转移表 1.字符指针变量 上⾯代码的意思是把⼀个常量字符串的⾸字符 h 的地址存放到指针变量 pstr 中。 《剑指…

WITH (NOLOCK) 是 SQL Server 中的一个提示

WITH (NOLOCK) 是 SQL Server 中的一个提示(hint),它告诉 SQL Server 在读取数据时不要获取共享锁。这个提示通常用于优化读取操作的性能,特别是在读取大量数据时,因为它可以减少锁的竞争,从而可能加快查询…

Mac M1 Max配置torch-geometric等深度学习库

前提:此电脑中已经安装好了Anaconda环境 (一)查看创建的虚拟环境中torch的版本 import torch torch.__version__(二)针对安装的 torch 版本,去官网下载torch-geometric 依赖的对应版本 torch-sparse、tor…

Mysql 集群技术

目录 一、MySQL在服务器中的部署方法 1、MySQL的源码编译安装 2、MySQL部署 二、MySQL的主从复制 1、配置master 2、配置slave 当有数据时添加node3 4、延迟复制 5、慢查询日志 6、MySQL的并行复制 7、原理剖析 8、架构缺陷 三、半同步模式 1、原理 2、gtid模式…

vue2前端阿里云oss断点续传

官方文档地址:如何通过断点续传上传的方式将文件上传到OSS_对象存储(OSS)-阿里云帮助中心 1、需要后端提供一个接口,接口数据包含: const client new OSS({// yourRegion填写Bucket所在地域。以华东1(杭州)为例&…

【STM32】PWR电源控制(低功耗模式)

本篇博客重点在于标准库函数的理解与使用,搭建一个框架便于快速开发 目录 PWR简介 修改主频 低功耗模式 睡眠模式 停止模式 待机模式 PWR简介 PWR(Power Control)电源控制 ,负责管理STM32内部的电源供电部分,可…

31套科技风PPT免费分享

目录 部分展示 部分展示 #PPT下载 「科技风模板」链接:https://pan.quark.cn/s/fb2f39a1d343 链接永久有效,点击这里下载,记得给个赞哦

中间件安全

1.中间件 中间件(Middleware)是指一种软件组件,其作用是在不同的系统、应用程序或服务之间传递数据和消息。它通常位于应用程序和操作系统之间,负责在不同的应用程序之间传递数据、协调不同应用程序之间的通信,以及处理网络请求等。 中间件…

Oracle开始严查Java许可!

0x01、 前段时间在论坛里就看到一个新闻,说“Oracle又再次对Java下手,开始严查Java许可,有企业连夜删除JDK”,当时就曾在网上引起了一阵关注和讨论。 这不最近在科技圈又看到有媒体报道,Oracle再次严查,对…

【树的最长路径】

题目 错误代码&#xff08;18过15&#xff09; #include <bits/stdc.h> using namespace std; const int N 1e410, M N << 1; const int null -0x3f3f3f3f; int h[N], e[M], ne[M], w[M], idx; int v[N]; int maxx; int res; int twice; void add(int a, int …

C语言占领游戏

目录 开头程序程序的流程图程序的效果结尾 开头 大家好&#xff0c;我叫这是我58。 程序 #define _CRT_SECURE_NO_WARNINGS 1 #include <stdio.h> #include <stdlib.h> #include <string.h> #include <time.h> #include <Windows.h> void pri…

windows核心编程:5章:将一个进程放入一个作业中,以限制此进程具体能够做那些事情

windows核心编程&#xff1a;5章&#xff1a;将一个进程放入一个作业中&#xff0c;以限制此进程具体能够做那些事情 windows核心编程&#xff1a;5章&#xff1a;将一个进程放入一个作业中&#xff0c;以限制此进程具体能够做那些事情 文章目录 windows核心编程&#xff1a;…

Linux的yum包管理工具(在线安装)

Linux的软件从哪里下载&#xff1f; 我们用的Linux系统都是国外的&#xff0c;所以下载软件自然从国外下载。但是访问国外网址太慢了&#xff0c;有没有什么办法快一点呢&#xff1f; 有&#xff01; 啊&#xff0c;还有这么美的事情&#xff1f;快点告诉我&#xff01; 好…