Bloqueio de IP's atrás de verniz

1

Estou usando o verniz para acelerar o meu site, mas tenho notado porque é tecnicamente um proxy reverso, todos os IPs são mostrados como 127.0.0.1 - Eu corrigi isso usando HTTP_X_FORWARDED_FOR , mas isso só está corrigindo programas PHP, como meus fóruns. Eu li através de perguntas semelhantes aqui, onde as pessoas estão tendo problemas tentando fazer "negar" no htaccess, e não está funcionando devido ao verniz.

Muitas soluções depois da minha pesquisa mostram que o bloqueio de IPs no nível de verniz é o caminho a ser seguido e, infelizmente, isso também não funciona. Eu tentei o mod_rpaf do apache para tentar bloquear IP's no nível de htaccess, mas isso também não fez nada.

Aqui está o meu código de verniz na tentativa de bloquear um exemplo de IP:

sub vcl_recv {
       if (client.ip ~ blacklist) {
           return (synth(403));
       }
}

E agora a lista negra de acl

acl blacklist {
"1.1.1.1";
}

Com esta configuração, 1.1.1.1 ainda é capaz de acessar o site, e não é trazido para a minha página 403. Para esclarecer, estou usando o verniz 4, então o "erro 403" não é mais compatível, então você precisa usar return .

Existe alguma coisa que estou fazendo errado? Alguém mais esteve na mesma situação em que eles precisam bloquear IP's no nível de verniz? Alguma sugestão?

Obrigado antecipadamente.

    
por Joel 01.02.2016 / 20:22

1 resposta

0

Para referência, aqui é a ACL documentação para o Varnish 4.0.

Isso não importa, mas você já tentou explicitamente declarar a máscara de rede?

acl blacklist {
    "1.1.1.1"/32;
}

O verniz está na camada mais frontal da sua pilha? Se você olhar para as solicitações com varnishlog , os IPs estão vendo o que você espera?

    
por 16.02.2016 / 22:44

Tags