Tengo un servidor con varios sitios web, cada uno con su propio servidor.
¿Hay alguna manera en nginx de bloquear el acceso 0.0.0.0/0
y permitir una IP específica, digamos 1.2.3.4/32
para un sitio web específico (host/nombre de dominio específico)?
Por ejemplo:
- Si una solicitud HTTP viene con el encabezado del host,
www.something-public.com
permita todo. - Si una solicitud HTTP viene con el encabezado del host,
www.something-private.com
niegue todo y permita una dirección IP específica.
Un problema adicional que tengo es que no se confía en los propietarios del sitio web y quiero restringirlos a través de esta regla al no permitirles cambiarla a través de archivos de configuración en los directorios del sitio web (como .htaccess
archivos que anulan la configuración del directorio principal).
Respuesta1
El módulongx_http_access_moduletiene comandos de permitir y denegar que puede colocar en los bloques de su servidor.
server {
server_name www.something-public.com;
allow all; // I think this is the default and the statement is not needed
}
server {
server_name www.something-private.com;
allow 192.168.1.1/32;
deny all;
}