Tenho um servidor com vários sites, cada um com seu próprio host.
Existe uma maneira no nginx de bloquear o acesso 0.0.0.0/0
e permitir um IP específico, digamos, 1.2.3.4/32
para um site específico (host/nome de domínio específico)?
Por exemplo:
- Se uma solicitação HTTP vier com o cabeçalho do host,
www.something-public.com
permita tudo. - Se uma solicitação HTTP vier com o cabeçalho do host,
www.something-private.com
negue tudo e permita um endereço IP específico.
Um problema adicional que tenho é que os proprietários do site não são confiáveis e quero restringi-los por meio desta regra, não permitindo que eles a alterem por meio de arquivos de configuração nos diretórios do site (como .htaccess
arquivos que substituem as configurações do diretório pai).
Responder1
O módulongx_http_access_moduletem comandos permitir e negar que você pode colocar em seus blocos de 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;
}