nginx配置IP白名单

1、添加IP白名单文件

在nginx目录的 conf 中添加文件 ip.conf注意白名单文件不用添加任何注释,可以有空行

vi ip.conf

192.168.3.11 1;192.168.3.10 1;
192.168.0.112 1;

2、配置nginx.conf
编辑http节点:

http {# ...# geo IP whitelistgeo $remote_addr $ip_whitelist {default 0;include ip.conf;}# ...
}

编辑server节点:

server {listen       80;# ...# IP whitelistset $whitelist_flag 1;if ( $ip_whitelist != 1 ) {set $whitelist_flag "${whitelist_flag}0";}if ( $request_uri !~* '/warn_navigate_page' ) {set $whitelist_flag "${whitelist_flag}0";}if ( $whitelist_flag = "100" ) {#return 403;rewrite ^(.*)$ $scheme://$host:$server_port/warn_navigate_page break; #白名单的提示页面}# ...
}

也可以在location节点中编辑,示例:

编辑location节点:

location /test {proxy_pass  http://IP/test;# ...# IP whitelistset $whitelist_flag 1;if ( $ip_whitelist != 1 ) {set $whitelist_flag "${whitelist_flag}0";}if ( $request_uri !~* '/warn_navigate_page' ) {set $whitelist_flag "${whitelist_flag}0";}if ( $whitelist_flag = "100" ) {#return 403;rewrite ^(.*)$ $scheme://$host:$server_port/warn_navigate_page break; #白名单的提示页面}# ...
}

添加导航的提示页 /warn_navigate_page

server {listen       80;# ...# 白名单的提示导航页面location /warn_navigate_page {root /home/java/nginx/bizapp/warn_navigate_page;index  warn_navigate_page.html warn_navigate_page.htm;rewrite ^(.*)$ /warn_navigate_page.html break;}
}

3、编辑白名单的提示导航页面

在 /home/java/nginx/bizapp/warn_navigate_page 中编辑页面warn_navigate_page.html

参考:

<!DOCTYPE html>
<html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=no"><meta content="yes" name="apple-mobile-web-app-capable"><meta content="black" name="apple-mobile-web-app-status-bar-style"><meta content="telephone=no" name="format-detection"><meta content="email=no" name="format-detection"><title>系统通知</title><style type="text/css">body {background: url(https://www.baidu.com/img/PCtm_d9c8750bed0b3c7d089fa7d55720d6cf.png) no-repeat;background-size: 100% 100%;background-attachment: fixed;}</style>
</head><body><div><pre>                                                                                     【通知公告】尊敬的用户您好,系统已不提供IP地址直接访问,请联系管理员添加白名单。互联网的域名访问地址:<a href="https://www.baidu.com">跳转https://www.baidu.com</a></pre></div></body>
<script type="text/javascript">
</script></html>

预计效果图

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/21828.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

macOS 14 Sonama - 小记

文章目录 Sonoma 官方资讯关于 Sonama 命名关于 壁纸Sonoma 官方资讯 macOS Sonoma Preview https://www.apple.com/hk/en/macos/sonoma-preview/官方视频介绍 Apple Events --> Watch the Keynote --> 00:43:13 (约14min) https://www.apple.com/hk/en/apple-events/mac…

数据库基本操作--------MySQL事务

目录 一、MySQL事务的概念 二、事务的ACID特点 1、原子性 2、一致性 3、隔离性 4、持久性 三、事务之间的相互影响 四、MySQL及事务隔离级别 1、查询全局事务隔离级别 2、查询会话事务隔离级别 3、设置全局事务隔离级别 4、设置会话事务隔离级别 五、事务控制语句 1、测…

CentOS环境下的Nginx安装

Nginx 安装 下载 nginx 下载地址&#xff1a;http://nginx.org/en/download.html 将下载好的压缩包拷贝到根目录下 通过xshell如果出现 bash: rz: 未找到命令 &#xff0c;需要先运行下面的命令 yum -y install lrzsz安装 解压到当前目录 tar -zxvf nginx-1.22.1.tar.gz安…

太阳能供电户外视频远程监控4G无线物联网工业路由器ZR3000

太阳能供电技术常被应用于环保节能的项目中&#xff0c;太阳能具备节能环保、寿命长、性能稳定、维护成本低等特点&#xff0c;被各行各业采纳使用。大多数太阳能应用于户外&#xff0c;存在监控点距离较远、取电困难、宽带光纤布线成本高、环境恶劣等问题&#xff0c;现场还有…

火山引擎云搜索服务升级云原生新架构;提供数十亿级分布式向量数据库能力

从互联网发展伊始&#xff0c;搜索技术就绽放出了惊人的社会和经济价值。随着信息社会快速发展&#xff0c;数据呈爆炸式增长&#xff0c;搜索技术通过数据收集与处理&#xff0c;满足信息共享与快速检索的需求。 云搜索服务 ESCloud 是火山引擎提供的完全托管在线分布式搜索服…

【雕爷学编程】Arduino动手做(160)---HLK-V20离线语音模块

37款传感器与模块的提法&#xff0c;在网络上广泛流传&#xff0c;其实Arduino能够兼容的传感器模块肯定是不止37种的。鉴于本人手头积累了一些传感器和执行器模块&#xff0c;依照实践出真知&#xff08;一定要动手做&#xff09;的理念&#xff0c;以学习和交流为目的&#x…

一文详解什么是数据库分片

概要 应用程序正在变得越来越好&#xff0c;它拥有更多的功能、更多的活跃用户&#xff0c;并且每天都会收集更多的数据。但数据库现在导致应用程序的其余部分变慢。数据库分片可能是问题的答案&#xff0c;但许多人不知道它是什么&#xff0c;最重要的是何时使用它。在本文中我…

3ds Max 无插件制作燃烧的火焰动画特效

推荐&#xff1a; NSDT场景编辑器助你快速搭建可二次开发的3D应用场景 在 3ds Max 中对火焰进行动画处理 如果您能找到“大气装置”设置&#xff0c;这很容易做到。基本上&#xff0c;你选择一个“Gizmo”&#xff08;BoxGizmo&#xff0c;SphereGizmo或CylGizmo&#xff09;&…

设计模式之工厂方法模式

写在前面 本文看下工厂方法设计模式。 1&#xff1a;介绍 1.1&#xff1a;什么时候用工厂方法 当我们有若干个种类的对象需要创建&#xff0c;且随着业务的发展&#xff0c;要创建的对象的种类还会不断变化&#xff0c;此时可以考虑使用工厂方法设计模式。 1.2&#xff1a…

嵌入式Linux开发实操(五):embedded linux嵌入式Linux开发

前言: embedded linux开发有个好处就是开源的,总的来说涉及五个部分: 1、工具链Toolchain:为目标设备创建代码需要的编译器和其他工具。其他一切都取决于工具链。 2、引导程序Bootloader:它初始化板并加载Linux kernal。 3、内核kernal:这是系统的core核心,管理系统…

macOS 怎么安装redis数据库

1 访问redis数据库下载网址 http://download.redis.io/releases/ 访问上述的redis下载的网址&#xff0c;确定你想要的版本 然后下载即可 &#xff08;我选则的是6.2.6&#xff09; 然后下载 下载后 把这个文件解压&#xff0c;放在自己想要放在的位置 2 打开终端 输入对应的…

【C/C++练习】经典的排列组合问题(回溯算法)——电话号码的字母组合

&#x1f4d6;题目描述 题目出处&#xff1a;电话号码的字母组合 示例&#xff1a; &#x1f4d6;题解  这是一道典型的排列组合问题&#xff0c;根据输入&#xff0c;我们需要找到所有的组合。下面以输入字符串digits "23"为例来讲解这道题目。 图解&#xff1…