Por razones horribles para entrar ... Estoy usando Nginx como servidor web y me gustaría que sirva una página para usuarios internos (digamos en 10.0.0.0/16) y otra página para usuarios externos en cualquier otra dirección IP.
Por ejemplo:
La PC "interna" con una IP de 10.0.0.34 va a company.com/page.html obtiene la página internal.html
La PC "externa" con una IP de 8.8.8.8 va a company.com/page.html obtiene la página external.html
Respuestas:
Haga uso del módulo geo Nginx . Le permite establecer el valor de la variable en función de la dirección IP de un cliente.
geo
la directiva debe estar en lahttp
sección:Puede usarlo más tarde en ubicaciones para buscar archivos
Lo que significa que Nginx se establecerá
$client
en cualquieraextra
o enintra
función de la IP de un cliente. Asumamos que es un cliente de Intranet. Si un cliente lo solicitapage.html
, Nginx buscará el archivo/your/root/page.html.intra
. Si no existe dicho archivo, lo buscará/your/root/page.html
. Si no puede encontrar ninguno de estos, Nginx devuelve la respuesta 404 "No encontrado". Más sobre "try_files" en la documentaciónPor cierto, la
index
directiva también admite variables. P.ejfuente