本文主要是介绍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>© 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站点访问控制的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!