Por motivos hediondos para entrar ... Estou usando o Nginx como servidor da Web e gostaria que ele servisse uma página para usuários internos (por exemplo, 10.0.0.0/16) e outra página para usuários externos em qualquer outro endereço IP.
Por exemplo:
O PC "interno" com um IP 10.0.0.34 vai para company.com/page.html obtém a página internal.html
O PC "externo" com um IP de 8.8.8.8 vai para company.com/page.html obtém a página external.html
Respostas:
Faça uso do módulo geográfico Nginx . Permite definir o valor da variável com base no endereço IP do cliente.
geo
A diretiva deve estar nahttp
seção:Você pode usá-lo posteriormente em locais para procurar arquivos
O que significa que o Nginx será definido
$client
comoextra
ou comintra
base no IP do cliente. Vamos supor que seja um cliente da Intranet. Se um cliente solicitarpage.html
, o Nginx procurará pelo 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á a resposta 404 "Não encontrado". Mais sobre "try_files" na documentaçãoA propósito, a
index
diretiva também suporta variáveis. Por exemplofonte