openresty nginx 设置网络白名单进行nacos站点访问控制

本文主要是介绍openresty nginx 设置网络白名单进行nacos站点访问控制,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

openresty nginx 设置网络白名单进行nacos站点访问控制

  • 1、 html目录下新建 403page.html文件
  • 2、方式1,仅允许白名单内IP访问
  • 3、方式2,允许白名单内IP 或者 绑定的域名进行访问
  • 4、实际拦截效果图
  • 5、其他内容

1、 html目录下新建 403page.html文件

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="initial-scale=1, minimum-scale=1, width=device-width" />
<title>Not allowed to visit this website - kuojungwong@sina.cn</title>
<style> *{margin:0;padding:0}html,code{font:15px/22px arial,sans-serif}html{background:#fff;color:#222;padding:15px}body{margin:7% auto 0;max-width:480px;min-height:180px;padding:30px 0 15px}p{margin:11px 0 22px;overflow:hidden}ins{color:#777;text-decoration:none}@media screen and (max-width:772px){body{background:0;margin-top:0;max-width:none;padding-right:0}}</style>
</head>
<body>
<p><ins>403 禁止访问</ins> <b>为避免系统异常,你的IP不在服务器访问白名单内,<br>(127|154)<br>请联系项目小组成员kuojungwong进行访问修改</b></p>
<p><ins>403 Forbidden</ins> <b>Not allowed to visit this website</b></p>
<p>This website only allows users inside the network to visit.</p>
<p>We are sorry for the inconvenience.</p>
<p><ins>&copy; 2021 <a href="#1">kuojungwong@sina.cn </a></ins></p>
</body>
</html>

2、方式1,仅允许白名单内IP访问

  location /nacos/ {if ($remote_addr !~ ^(10.0.0.155|127.0.0.1) )) {return 403;}proxy_pass http://nacosserv;}error_page 403 /403page.html;location = /403page.html{root html;}

3、方式2,允许白名单内IP 或者 绑定的域名进行访问

首先是伪代码(即不被nginx支持),写在这里只是为了方便理解:
and or 都不被支持

if ($remote_addr ~ "^(12.34|56.78)" || $host = "2021.kuojungwong.cococ") {return 403;
}

实际代码为使用变量进行控制

location /nacos/ {set $flag 0;if ($remote_addr !~ ^(10.0.0.155|127.0.0.1)) {set $flag 1;}if ($host = "2021.kuojungwong.cococ") {set $flag 0;}if ($flag = 0) {return 403;}proxy_pass http://nacosserv;}error_page 403 /403page.html;location = /403page.html{root html;}

4、实际拦截效果图

在这里插入图片描述

5、其他内容

If判断条件#1、正则表达式匹配:==:等值比较;~:判断匹配与否时区分字符大小写;~*:判断匹配与否时不区分字符大小写;!~:与指定正则表达式模式不匹配时返回“真”,判断匹配与否时区分字符大小写;!~*:与指定正则表达式模式不匹配时返回“真”,判断匹配与否时不区分字符大小写;#2、文件及目录匹配判断:-f,  !-f:判断指定的路径是否为存在且为文件;-d,  !-d:判断指定的路径是否为存在且为目录;-e,  !-e:判断指定的路径是否存在,文件或目录均可;-x,  !-x:判断指定路径的文件是否存在且可执行;

这篇关于openresty nginx 设置网络白名单进行nacos站点访问控制的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/723854

相关文章

使用Jackson进行JSON生成与解析的新手指南

《使用Jackson进行JSON生成与解析的新手指南》这篇文章主要为大家详细介绍了如何使用Jackson进行JSON生成与解析处理,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1. 核心依赖2. 基础用法2.1 对象转 jsON(序列化)2.2 JSON 转对象(反序列化)3.

Linux系统配置NAT网络模式的详细步骤(附图文)

《Linux系统配置NAT网络模式的详细步骤(附图文)》本文详细指导如何在VMware环境下配置NAT网络模式,包括设置主机和虚拟机的IP地址、网关,以及针对Linux和Windows系统的具体步骤,... 目录一、配置NAT网络模式二、设置虚拟机交换机网关2.1 打开虚拟机2.2 管理员授权2.3 设置子

揭秘Python Socket网络编程的7种硬核用法

《揭秘PythonSocket网络编程的7种硬核用法》Socket不仅能做聊天室,还能干一大堆硬核操作,这篇文章就带大家看看Python网络编程的7种超实用玩法,感兴趣的小伙伴可以跟随小编一起... 目录1.端口扫描器:探测开放端口2.简易 HTTP 服务器:10 秒搭个网页3.局域网游戏:多人联机对战4.

C#使用SQLite进行大数据量高效处理的代码示例

《C#使用SQLite进行大数据量高效处理的代码示例》在软件开发中,高效处理大数据量是一个常见且具有挑战性的任务,SQLite因其零配置、嵌入式、跨平台的特性,成为许多开发者的首选数据库,本文将深入探... 目录前言准备工作数据实体核心技术批量插入:从乌龟到猎豹的蜕变分页查询:加载百万数据异步处理:拒绝界面

Python使用自带的base64库进行base64编码和解码

《Python使用自带的base64库进行base64编码和解码》在Python中,处理数据的编码和解码是数据传输和存储中非常普遍的需求,其中,Base64是一种常用的编码方案,本文我将详细介绍如何使... 目录引言使用python的base64库进行编码和解码编码函数解码函数Base64编码的应用场景注意

Java进行文件格式校验的方案详解

《Java进行文件格式校验的方案详解》这篇文章主要为大家详细介绍了Java中进行文件格式校验的相关方案,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录一、背景异常现象原因排查用户的无心之过二、解决方案Magandroidic Number判断主流检测库对比Tika的使用区分zip

Java使用Curator进行ZooKeeper操作的详细教程

《Java使用Curator进行ZooKeeper操作的详细教程》ApacheCurator是一个基于ZooKeeper的Java客户端库,它极大地简化了使用ZooKeeper的开发工作,在分布式系统... 目录1、简述2、核心功能2.1 CuratorFramework2.2 Recipes3、示例实践3

PyCharm如何设置新建文件默认为LF换行符

《PyCharm如何设置新建文件默认为LF换行符》:本文主要介绍PyCharm如何设置新建文件默认为LF换行符问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录PyCharm设置新建文件默认为LF换行符设置换行符修改换行符总结PyCharm设置新建文件默认为LF

基于Flask框架添加多个AI模型的API并进行交互

《基于Flask框架添加多个AI模型的API并进行交互》:本文主要介绍如何基于Flask框架开发AI模型API管理系统,允许用户添加、删除不同AI模型的API密钥,感兴趣的可以了解下... 目录1. 概述2. 后端代码说明2.1 依赖库导入2.2 应用初始化2.3 API 存储字典2.4 路由函数2.5 应

SpringBoot使用OkHttp完成高效网络请求详解

《SpringBoot使用OkHttp完成高效网络请求详解》OkHttp是一个高效的HTTP客户端,支持同步和异步请求,且具备自动处理cookie、缓存和连接池等高级功能,下面我们来看看SpringB... 目录一、OkHttp 简介二、在 Spring Boot 中集成 OkHttp三、封装 OkHttp