
queremos dar acesso a um servidor de atualização apenas para determinados IPs e usaresta configuração do nginxaté aqui:
allow 2a03:2267:4e6f:7264:f6f2:6dff:fe49:e4a2;
allow 2a03:2267:4e6f:7264:a2f3:c1ff:fe7a:4bc6;
...
deny all;
Mas parece que o nginx tem um limite de regras de permissão em torno de 250.
Como podemos aumentar esse limite, para que possamos configurar uma lista de permissões maior aqui. Ou existe uma maneira melhor de atingir esse objetivo?
Responder1
Você poderia usar um map
para obter o mesmo efeito. Por exemplo:
map $remote_addr $deny {
default 1;
2a03:2267:4e6f:7264:f6f2:6dff:fe49:e4a2 0;
2a03:2267:4e6f:7264:a2f3:c1ff:fe7a:4bc6 0;
}
server {
...
if ($deny) { return 403; }
...
}
Veresse documentopara detalhes eesse cuidadono uso de if
.
Responder2
Como esta é uma lista de permissões baseada no acesso global ao servidor, você pode ser melhor atendido usando iptables para isso.
ip6tables -A INPUT -m tcp -p tcp -s 2a03:2267:4e6f:7264:f6f2:6dff:fe49:e4a2 --dport 80 -j ACCEPT
ip6tables -A INPUT -m tcp -p tcp -s 2a03:2267:4e6f:7264:a2f3:c1ff:fe7a:4bc6 --dport 80 -j ACCEPT
ip6tables -A INPUT -m tcp -p tcp --dport 80 -j REJECT
Certifique-se de bloquear o IPv4 também se estiver ativado.
iptables -A INPUT -m tcp -p tcp --dport 80 -j REJECT