Use o módulo geográfico Nginx . Ele permite que você defina o valor da variável com base em um endereço IP do cliente. A diretiva geo
deve estar na seção http
:
http {
geo $client {
default extra;
10.0.0.0/8 intra;
}
Você pode usá-lo posteriormente em locais para pesquisar arquivos
location / {
try_files $uri.$client $uri = 404;
}
O que significa que o Nginx definirá $client
como extra
ou intra
com base no IP de um cliente. Vamos supor que seja um cliente de intranet. Se um cliente solicitar page.html
, o Nginx pesquisará o arquivo /your/root/page.html.intra
. Se não houver esse arquivo, ele procurará /your/root/page.html
. Se não conseguir encontrar nenhum desses, o Nginx retornará 404 "Not Found" response. Mais informações sobre "try_files" na documentação
A propósito, a diretiva index
suporta variáveis também. Por exemplo,
index index.$client.html index.html;