Kong gateway hastighedsbegrænsningsplugin.
Sæt regler for aktuelle grænser baseret på år, måned, dag, time, minut og sekund, og flere restriktioner træder i kraft samtidig.
For eksempel højst 10 opkald om dagen, højst 3 gange i minuttet.
Når der er mere end 3 besøg på et minut, vil en fejl blive rapporteret ved fjerde gang.
Når antallet af besøg overstiger 10 gange om dagen, vil en fejl blive rapporteret ved ellevte gang.
Scenarie: Jeg skal begrænse API-interfacet til en enkelt IP, som kun kan anmodes om 3 gange i minuttet, når jeg aktiverer plug-in'et, er der ikke noget problem med normalt at få adgang til Kong-gatewayen via IP'en, men det øverste lag af Kong har stadig nginx som belastning, så den IP, kong opnår, er altid den private IP på nginx-maskinen, så alle IP'er kun kan få adgang til API-interfacet 3 gange i minuttet, ikke en enkelt IP tilgår interfacet 3 gange i minuttet.
Som vist i figuren nedenfor, så længe interfacet anmodes 3 gange i minuttet, vil alle besøgende blive afvist.
Jeg installerede http-log-plugin'et for at registrere anmodningen og de tilhørende oplysninger, så vi kan fejlfinde det.
Da Kong ikke får client_ip adresse normalt, hvordan kan jeg så rette dette problem?
Opløsning
Ændr kong-konfigurationsfilen,
/etc/kong/kong.conf文件,增加trusted_ips = 0.0.0.0/0,::/0
real_ip_header = X-videresendt-for
EndeligtGenstart Kong, kommando: kong genstart
trusted_ips
Definér en blok af betroede IP-adresser, der er kendt for at sende den korrekte X-Forwarded-* header. Forespørgsler fra betroede IP'er får Kong til at videresende sin header til X-Forwarded-* upstream. Upålidelige forespørgsler får Kong til at indsætte sin egen X-Forwarded-* header.
Denne egenskab sætter også direktivet i set_real_ip_fromNginx-konfigurationen. Den accepterer værdier af samme type (CIDR-blokke), men komma-adskilte lister.
At stole på alle /! \IP, sæt venligst denne værdi til 0.0.0.0/0,::/0.
Hvis unix: angiver en særlig værdi, vil alle UNIX-domænesockets blive betroet. Referencedokumentation:https://docs.konghq.com/0.14.x/configuration/#trusted_ips
Efter at modifikationen er gennemført, kan kong korrekt opnå klientens IP-adresse, som vist i figuren nedenfor:
(Slut)
|