Denna artikel är en spegelartikel om maskinöversättning, klicka här för att hoppa till originalartikeln.

Utsikt: 10942|Svar: 0

Kong-plugin-hastighetsbegränsning

[Kopiera länk]
Publicerad på 2019-02-15 14:54:45 | | | |
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)






Föregående:Platssökningsattribut
Nästa:JavaScript split()-metoden
Friskrivning:
All programvara, programmeringsmaterial eller artiklar som publiceras av Code Farmer Network är endast för lärande- och forskningsändamål; Ovanstående innehåll får inte användas för kommersiella eller olagliga ändamål, annars kommer användarna att bära alla konsekvenser. Informationen på denna sida kommer från internet, och upphovsrättstvister har inget med denna sida att göra. Du måste helt radera ovanstående innehåll från din dator inom 24 timmar efter nedladdning. Om du gillar programmet, vänligen stöd äkta programvara, köp registrering och få bättre äkta tjänster. Om det finns något intrång, vänligen kontakta oss via e-post.

Mail To:help@itsvse.com