gpt4 book ai didi

nginx - 如何在不传递列表的情况下设置远程 IP 地址范围?

转载 作者:行者123 更新时间:2023-12-03 18:46:27 26 4
gpt4 key购买 nike

我有这个服务器块:

server {
server_name doamin.tld;

set $maintenance on;
if ($remote_addr ~ (127.0.0.1|10.1.1.10)) {
set $maintenance off;
}
if ($maintenance = on) {
return 503;
}
error_page 503 @maintenance;

location @maintenance {
root /var/www/html/global;
rewrite ^(.*)$ /holding-page.html break;
}

root html;
access_log logs/doamin.tld.access.log;
error_log logs/doamin.tld.error.log;

include ../conf/default.d/location.conf;

}

将列表传递给 $remote_addr 而不是像 (127.0.0.1| 等...) 那样编码的正确方法是什么?

最佳答案

使用 nginx map directive 根据 $maintenance 设置 $remote_addr 值:

map $remote_addr $maintenance {
default on;

127.0.0.1 off;
10.1.1.10 off;
10.*.1.* off;
}

server {
server_name doamin.tld;

if ($maintenance = on) {
return 503;
}
# ... your code ...
}

如果您想在单独的文件中获取 IP 列表,请查看 include directive

关于nginx - 如何在不传递列表的情况下设置远程 IP 地址范围?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46492273/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com