Plugin de limitação de taxa de gateway Kong.
Estabeleça regras de limite atuais baseadas em ano, mês, dia, hora, minuto e segundo, e múltiplas restrições entram em vigor ao mesmo tempo.
Por exemplo, no máximo 10 chamadas por dia, no máximo 3 vezes por minuto.
Quando há mais de 3 visitas por minuto, um erro será reportado na quarta vez.
Quando o número de visitas ultrapassar 10 vezes em um dia, um erro será reportado na décima primeira vez.
Cenário: preciso limitar a interface da API a um único IP que só pode ser solicitado 3 vezes por minuto; quando ativo o plug-in, não há problema em acessar o gateway Kong pelo IP normalmente, mas a camada superior do Kong ainda tem o nginx como carga, então o IP obtido pelo Kong é sempre o IP privado da máquina nginx, de modo que todos os IPs só possam acessar a interface da API 3 vezes por minuto, nenhum IP acessa a interface 3 vezes por minuto.
Como mostrado na figura abaixo, desde que a interface seja solicitada 3 vezes por minuto, todos os visitantes serão rejeitados.
Instalei o plugin http-log para registrar a solicitação e as informações correspondentes, para que possamos depurá-las.
Como o Kong não está recebendo client_ip endereço normalmente, como posso corrigir esse problema?
Solução
Modificar o arquivo de configuração Kong,
/etc/kong/kong.conf文件,增加trusted_ips = 0.0.0.0/0,::/0
real_ip_header = X-Encaminhado-Para
EnfimReiniciar Kong, comando: Kong Reiniciar
trusted_ips
Defina um bloco de endereços IP confiáveis que sejam conhecidos por enviar o cabeçalho correto X-Forwarded-*. Solicitações de IPs confiáveis fazem com que o Kong encaminhe seu cabeçalho para X-Forwarded-* a montante. Solicitações não confiáveis fazem com que o Kong insira seu próprio cabeçalho X-Forwarded-*.
Essa propriedade também define a diretiva na configuração set_real_ip_fromNginx. Aceita valores do mesmo tipo (blocos CIDR), mas listas separadas por vírgulas.
Confiar em todos /! \IP, por favor, defina esse valor para 0.0.0.0/0,::/0.
Se unix: especificar um valor especial, todos os sockets de domínio UNIX serão confiáveis. Documentação de Referência:https://docs.konghq.com/0.14.x/configuration/#trusted_ips
Após a conclusão da modificação, o kong pode obter corretamente o endereço IP do cliente, como mostrado na figura abaixo:
(Fim)
|