Nginx: permitir acesso apenas para referenciar esse nome de localização de correspondência
Existe uma maneira, em nginx, de permitir o acesso a um "local" apenas para clientes com um referenciador que corresponda ao nome do local atual?
Este é o cenário:
etc etc
Eu quero que o conteúdo da localização bar.org esteja disponível somente se o referenciador for bar.org. O mesmo vale para zeta.net
Eu sei que posso fazer isso "estaticamente", mas há muitos desses locais e eu preciso encontrar uma maneira de fazer isso definindo apenas um local "dinâmico".
Desculpe pelo meu inglês ruim.
SOLUÇÃO
Eu resolvi assim:
location ~/([a-zA-Z0-9\.\-]*)/* {
set $match "$1::$http_referer";
if ($match !~* ^(.+)::http[s]*://[www]*[.]*\1.*$ ) {
return 403;
}
}