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

相关文章

Python调用Orator ORM进行数据库操作

《Python调用OratorORM进行数据库操作》OratorORM是一个功能丰富且灵活的PythonORM库,旨在简化数据库操作,它支持多种数据库并提供了简洁且直观的API,下面我们就... 目录Orator ORM 主要特点安装使用示例总结Orator ORM 是一个功能丰富且灵活的 python O

Nginx设置连接超时并进行测试的方法步骤

《Nginx设置连接超时并进行测试的方法步骤》在高并发场景下,如果客户端与服务器的连接长时间未响应,会占用大量的系统资源,影响其他正常请求的处理效率,为了解决这个问题,可以通过设置Nginx的连接... 目录设置连接超时目的操作步骤测试连接超时测试方法:总结:设置连接超时目的设置客户端与服务器之间的连接

mybatis和mybatis-plus设置值为null不起作用问题及解决

《mybatis和mybatis-plus设置值为null不起作用问题及解决》Mybatis-Plus的FieldStrategy主要用于控制新增、更新和查询时对空值的处理策略,通过配置不同的策略类型... 目录MyBATis-plusFieldStrategy作用FieldStrategy类型每种策略的作

使用 sql-research-assistant进行 SQL 数据库研究的实战指南(代码实现演示)

《使用sql-research-assistant进行SQL数据库研究的实战指南(代码实现演示)》本文介绍了sql-research-assistant工具,该工具基于LangChain框架,集... 目录技术背景介绍核心原理解析代码实现演示安装和配置项目集成LangSmith 配置(可选)启动服务应用场景

如何通过海康威视设备网络SDK进行Java二次开发摄像头车牌识别详解

《如何通过海康威视设备网络SDK进行Java二次开发摄像头车牌识别详解》:本文主要介绍如何通过海康威视设备网络SDK进行Java二次开发摄像头车牌识别的相关资料,描述了如何使用海康威视设备网络SD... 目录前言开发流程问题和解决方案dll库加载不到的问题老旧版本sdk不兼容的问题关键实现流程总结前言作为

SpringBoot中使用 ThreadLocal 进行多线程上下文管理及注意事项小结

《SpringBoot中使用ThreadLocal进行多线程上下文管理及注意事项小结》本文详细介绍了ThreadLocal的原理、使用场景和示例代码,并在SpringBoot中使用ThreadLo... 目录前言技术积累1.什么是 ThreadLocal2. ThreadLocal 的原理2.1 线程隔离2

nginx部署https网站的实现步骤(亲测)

《nginx部署https网站的实现步骤(亲测)》本文详细介绍了使用Nginx在保持与http服务兼容的情况下部署HTTPS,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值... 目录步骤 1:安装 Nginx步骤 2:获取 SSL 证书步骤 3:手动配置 Nginx步骤 4:测

CSS弹性布局常用设置方式

《CSS弹性布局常用设置方式》文章总结了CSS布局与样式的常用属性和技巧,包括视口单位、弹性盒子布局、浮动元素、背景和边框样式、文本和阴影效果、溢出隐藏、定位以及背景渐变等,通过这些技巧,可以实现复杂... 一、单位元素vm 1vm 为视口的1%vh 视口高的1%vmin 参照长边vmax 参照长边re

Python利用PIL进行图片压缩

《Python利用PIL进行图片压缩》有时在发送一些文件如PPT、Word时,由于文件中的图片太大,导致文件也太大,无法发送,所以本文为大家介绍了Python中图片压缩的方法,需要的可以参考下... 有时在发送一些文件如PPT、Word时,由于文件中的图片太大,导致文件也太大,无法发送,所有可以对文件中的图

如何使用Spring boot的@Transactional进行事务管理

《如何使用Springboot的@Transactional进行事务管理》这篇文章介绍了SpringBoot中使用@Transactional注解进行声明式事务管理的详细信息,包括基本用法、核心配置... 目录一、前置条件二、基本用法1. 在方法上添加注解2. 在类上添加注解三、核心配置参数1. 传播行为(