
Estou tentando definir a lista de permissões para determinados nomes de domínio no meu servidor. Eu descobri uma maneira de fazer isso usando o map
contexto, mas agora estou recebendo uma invalid parameter "$whitelist"
variável que defini no contexto do mapa. Já tentei esse método antes e funcionou, mas agora estou recebendo um erro de repente. Não sei por que esse é o caso.
map $http_host $whitelist {
default 0;
"~^(?<subdomain>\w+)\.(?<domain>domain-name\.example\.com)$" $domain;
# whitelist domains
whitelist1 example.com;
whitelist2 subdomain.example.com;
}
server {
listen 80;
resolver 127.0.0.11 ipv6=off;
proxy_intercept_errors on;
# error_page 400 403 = @fallback;
if ($whitelist = 0) {
return 403;
}
location /v1/ {
allow $whitelist;
deny all;
}
location @fallback {
return 400;
}
Responder1
allow
A diretiva aceita apenas endereços IP, intervalos CIDR unix:
ou all
como argumento, conforme documentado emdocumentação diretiva.
Na sua configuração, as entradas são nomes de domínio, que não são suportados.