Kong gateway hastighetsbegrensende plugin.
Sett gjeldende grenseregler basert på år, måned, dag, time, minutt og sekund, og flere restriksjoner trer i kraft samtidig.
For eksempel ikke mer enn 10 samtaler per dag, ikke mer enn 3 ganger per minutt.
Når det er mer enn 3 besøk i minuttet, vil en feil bli rapportert fjerde gang.
Når antall besøk overstiger 10 ganger om dagen, rapporteres en feil ved ellevte gang.
Scenario: Jeg må begrense API-grensesnittet til én IP som bare kan forespørres 3 ganger per minutt, når jeg aktiverer pluginen, er det ikke noe problem med å få tilgang til Kong-gatewayen via IP-en normalt, men det øvre laget av Kong har fortsatt nginx som last, så IP-en som oppnås av kong er alltid den private IP-en til nginx-maskinen, slik at alle IP-er bare kan få tilgang til API-grensesnittet 3 ganger per minutt, ikke én enkelt IP får tilgang til grensesnittet 3 ganger per minutt.
Som vist i figuren nedenfor, så lenge grensesnittet forespørs tre ganger per minutt, vil alle besøkende bli avvist.
Jeg installerte http-log-pluginen for å registrere forespørselen og tilhørende informasjon, slik at vi kan feilsøke den.
Siden Kong ikke får tak i client_ip adressen normalt, hvordan kan jeg rette opp dette problemet?
Løsning
Endre kong-konfigurasjonsfilen,
/etc/kong/kong.conf文件,增加trusted_ips = 0.0.0.0/0,::/0
real_ip_header = X-videresendt-for
Til sluttStart Kong på nytt, kommando: kong restart
trusted_ips
Definer en blokk med pålitelige IP-adresser som er kjent for å sende riktig X-Forwarded-* header. Forespørsler fra pålitelige IP-adresser får Kong til å videresende headeren sin til X-Forwarded-* oppstrøms. Upålitelige forespørsler får Kong til å sette inn sin egen X-Forwarded-*-header.
Denne egenskapen setter også direktivet i set_real_ip_fromNginx-konfigurasjonen. Den aksepterer verdier av samme type (CIDR-blokker), men komma-separerte lister.
Å stole på alle /! \IP, vennligst sett denne verdien til 0.0.0.0/0,::/0.
Hvis unix: spesifiserer en spesiell verdi, vil alle UNIX-domenesokler bli betrodd. Referansedokumentasjon:https://docs.konghq.com/0.14.x/configuration/#trusted_ips
Etter at endringen er fullført, kan kong korrekt hente klientens IP-adresse, som vist i figuren nedenfor:
(Slutt)
|