news 2026/6/10 18:11:11

HoRain云--Nginx配置IP白名单全攻略

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
HoRain云--Nginx配置IP白名单全攻略

🎬 HoRain云小助手:个人主页

🔥 个人专栏: 《Linux 系列教程》《c语言教程》

⛺️生活的理想,就是为了理想的生活!


⛳️ 推荐

前些天发现了一个超棒的服务器购买网站,性价比超高,大内存超划算!忍不住分享一下给大家。点击跳转到网站。

专栏介绍

专栏名称

专栏介绍

《C语言》

本专栏主要撰写C干货内容和编程技巧,让大家从底层了解C,把更多的知识由抽象到简单通俗易懂。

《网络协议》

本专栏主要是注重从底层来给大家一步步剖析网络协议的奥秘,一起解密网络协议在运行中协议的基本运行机制!

《docker容器精解篇》

全面深入解析 docker 容器,从基础到进阶,涵盖原理、操作、实践案例,助您精通 docker。

《linux系列》

本专栏主要撰写Linux干货内容,从基础到进阶,知识由抽象到简单通俗易懂,帮你从新手小白到扫地僧。

《python 系列》

本专栏着重撰写Python相关的干货内容与编程技巧,助力大家从底层去认识Python,将更多复杂的知识由抽象转化为简单易懂的内容。

《试题库》

本专栏主要是发布一些考试和练习题库(涵盖软考、HCIE、HRCE、CCNA等)

目录

⛳️ 推荐

专栏介绍

Nginx配置IP白名单详细指南

配置方法:使用allow和deny指令

配置示例

1. 全局IP白名单(http块)

2. 虚拟主机IP白名单(server块)

3. 特定路径IP白名单(location块)

4. 通过外部文件配置白名单

配置注意事项

配置生效步骤

为什么使用白名单而不是黑名单?


Nginx配置IP白名单详细指南

IP白名单是一种基于IP地址的访问控制策略,通过只允许列表中指定的IP地址访问资源,从而拒绝所有其他未在列表中的IP。这在以下场景非常有用:

配置方法:使用allow和deny指令

Nginx使用allowdeny指令实现IP白名单,这些指令可以在三个层级配置:

  1. http块(全局):对所有虚拟主机生效
  2. server块(虚拟主机):对特定虚拟主机生效
  3. location块(特定路径):对特定路径生效

重要原则:Nginx按配置顺序处理规则,一旦匹配到规则就停止处理。建议先配置allow,最后配置deny all;

配置示例

1. 全局IP白名单(http块)
http { # 全局IP白名单配置 allow 192.168.1.0/24; # 允许内网192.168.1.x网段 allow 203.0.113.50; # 允许特定IP地址 allow 127.0.0.1; # 允许本地访问 deny all; # 拒绝所有其他IP include /etc/nginx/conf.d/*.conf; include /etc/nginx/sites-enabled/*; }
2. 虚拟主机IP白名单(server块)
server { listen 80; server_name localhost; # 白名单配置 allow 192.168.3.7; # 允许单个IP allow 192.168.3.9/32; # 允许一个网段(等同于192.168.3.9) deny all; # 拒绝所有其他IP location / { root html; index index.html index.htm; } }
3. 特定路径IP白名单(location块)
location /secret/ { allow 192.168.1.0/24; # 仅允许192.168.1.x网段访问 deny all; }
4. 通过外部文件配置白名单
location / { include /etc/nginx/whitelist.conf; # 从外部文件读取白名单 deny all; }

/etc/nginx/whitelist.conf中配置:

allow 10.1.1.10; allow 10.1.1.11;

配置注意事项

  1. 指令顺序:Nginx按顺序检查规则,先allowdeny,最后deny all
  2. CIDR表示法:使用192.168.1.0/24表示一个IP地址段。
  3. 多个规则:可以添加多个allow规则,Nginx会依次检查。
  4. IPv6支持:Nginx也支持IPv6地址,如allow 2001:0db8::/32;

配置生效步骤

  1. 编辑Nginx配置文件(通常位于/etc/nginx/nginx.conf/etc/nginx/conf.d/目录下)
  2. 添加或修改白名单配置
  3. 检查配置语法:nginx -t
  4. 重载配置:nginx -s reload

为什么使用白名单而不是黑名单?

通过以上配置,只有白名单中的IP地址才能访问指定的资源,其他IP将收到403 Forbidden错误。

配置完成后,访问测试:如果IP不在白名单中,将看到403错误页面,日志中会记录access forbidden by rule

❤️❤️❤️本人水平有限,如有纰漏,欢迎各位大佬评论批评指正!😄😄😄

💘💘💘如果觉得这篇文对你有帮助的话,也请给个点赞、收藏下吧,非常感谢!👍 👍 👍

🔥🔥🔥Stay Hungry Stay Foolish 道阻且长,行则将至,让我们一起加油吧!🌙🌙🌙

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/30 23:14:44

B站音频无损提取完整教程:从入门到精通的高效解决方案

还在为无法保存B站优质音乐而烦恼?BilibiliDown作为一款专业的B站视频下载工具,提供了强大的音频无损提取功能,让音乐爱好者能够轻松收藏心仪的音频内容。无论你是想建立个人音乐库,还是需要提取视频背景音乐,这款工具…

作者头像 李华
网站建设 2026/6/5 11:47:10

ECharts可视化展示IndexTTS 2.0生成统计报表

ECharts 可视化驱动 IndexTTS 2.0 生成质量分析 在短视频、虚拟主播和有声内容爆发的今天,语音合成已不再是“能说就行”的基础功能,而是需要精准控制节奏、情感与音色的创作工具。B站开源的 IndexTTS 2.0 正是这一趋势下的代表性成果——它不仅实现了零…

作者头像 李华
网站建设 2026/6/9 16:19:09

3分钟搞定游戏服务器管理:SteamCMD快速上手指南

3分钟搞定游戏服务器管理:SteamCMD快速上手指南 【免费下载链接】SteamCMD-Commands-List SteamCMD Commands List 项目地址: https://gitcode.com/gh_mirrors/st/SteamCMD-Commands-List 还在为搭建游戏服务器发愁吗?🤔 别担心&#…

作者头像 李华
网站建设 2026/6/10 0:55:14

ab-download-manager智能恢复系统:让下载中断成为过去式

ab-download-manager智能恢复系统:让下载中断成为过去式 【免费下载链接】ab-download-manager A Download Manager that speeds up your downloads 项目地址: https://gitcode.com/GitHub_Trending/ab/ab-download-manager 你是否曾经遇到过这样的场景&…

作者头像 李华
网站建设 2026/6/10 16:15:36

3分钟快速上手:零代码配置的随机姓名抽取神器

3分钟快速上手:零代码配置的随机姓名抽取神器 【免费下载链接】random-name-picker Simple HTML5 random name picker for picking lucky draw winner using Web Animations and AudioContext API. 项目地址: https://gitcode.com/gh_mirrors/ra/random-name-pick…

作者头像 李华