
Quiero dirigir a los usuarios a diferentes servicios web con configuración de nginx.
El escenario es para los usuarios internos con nombre de host de 192.168.1.1
a. 192.168.1.255
Quiero ofrecerles algún servicio web, pero para el otro visitante externo no quiero que esto se realice.
Sé que podría usar IP_TABLES
para habilitar esta función, pero uso las reglas IP_TABLE principalmente para fines de firewall, no quiero mezclarlas con esta configuración.
¿Hay alguna configuración disponible para mí en nginx.conf
?
Respuesta1
Puede utilizar el módulo GEO junto con una directiva de mapa:
http {
geo $special_service {
default 0;
192.168.1.0/24 1;
}
server {
if ($special_service) {
return 302 $scheme://$server_name/special-service/;
}
}
}
Respuesta2
Cree un location
bloque separado que cubra su contenido confidencial.
Tenga en cuenta que las directivas de configuración no se heredan; deberá incluir en el nuevo bloque todo lo que esté en la "ubicación existente que sea necesaria para su contenido".
location /path/to/sensitive/stuff {
# any other config that you need goes here..
# ...
allow 192.168.1.0/24;
deny all;
}