A melhor maneira de criar uma lista de permissões de IP com nginx

0

queremos fornecer acesso a um servidor de atualização para apenas determinados IPs e usar este nginx config até agora:

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?

    
por rubo77 18.05.2017 / 21:37

2 respostas

1

Você pode 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; }
    ...
}

Consulte este documento para obter detalhes e esta cautela no uso de if .

    
por 19.05.2017 / 10:38
0

Como esta é uma lista branca baseada no acesso global ao servidor, você pode ser melhor servido usando o 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
    
por 23.08.2017 / 19:22

Tags