Kong gateway hastighetsbegränsande plugin.
Sätt nuvarande gränsregler baserat på år, månad, dag, timme, minut och sekund, och flera restriktioner träder i kraft samtidigt.
Till exempel högst 10 samtal per dag, inte mer än 3 gånger per minut.
När det är fler än tre besök per minut rapporteras ett fel vid fjärde gången.
När antalet besök överstiger 10 gånger per dag rapporteras ett fel vid elfte gången.
Scenario: Jag behöver begränsa API-gränssnittet till en enda IP som bara kan begäras 3 gånger per minut, när jag aktiverar pluginet är det inga problem att komma åt Kong-gatewayen via IP:n normalt, men det övre lagret av Kong har fortfarande nginx som belastning, så IP-adressen som erhålls av Kong är alltid den privata IP:n för nginx-maskinen, så att alla IP-adresser bara kan komma åt API-gränssnittet 3 gånger per minut, inte en enda IP får åtkomst till gränssnittet 3 gånger per minut.
Som visas i figuren nedan, så länge gränssnittet begärs tre gånger per minut kommer alla besökare att avvisas.
Jag installerade http-log-pluginet för att registrera förfrågan och motsvarande information, så att vi kan felsöka det.
Eftersom Kong inte får client_ip adress normalt, hur kan jag lösa detta problem?
Lösning
Modifiera kong-konfigurationsfilen,
/etc/kong/kong.conf文件,增加trusted_ips = 0.0.0.0/0,::/0
real_ip_header = X-Vidarebefordra-För
Till sistStarta om Kong, kommando: Kong Restart
trusted_ips
Definiera ett block av betrodda IP-adresser som är kända för att skicka rätt X-Forwarded-*-header. Förfrågningar från betrodda IP-adresser får Kong att vidarebefordra sin header till X-Forwarded-* uppströms. Icke-betrodda förfrågningar gör att Kong lägger in sin egen X-Forwarded-*-header.
Denna egenskap sätter också direktivet i set_real_ip_fromNginx konfigurationen. Den accepterar värden av samma typ (CIDR-block), men kommaseparerade listor.
Att lita på alla /! \IP, vänligen sätt detta värde till 0.0.0.0/0,::/0.
Om unix: specificerar ett speciellt värde, kommer alla UNIX-domänsocklar att vara betrodda. Referensdokumentation:https://docs.konghq.com/0.14.x/configuration/#trusted_ips
Efter att modifieringen är klar kan kong korrekt erhålla klientens IP-adress, som visas i figuren nedan:
(Slut)
|