KONG Gateway plugin na obmedzenie rýchlosti.
Nastavte aktuálne pravidlá limitov na základe roka, mesiaca, dňa, hodiny, minúty a sekundy, pričom viaceré obmedzenia nadobúdajú účinnosť súčasne.
Napríklad nie viac ako 10 hovorov denne, nie viac ako 3-krát za minútu.
Ak je za minútu viac ako 3 návštevy, chyba sa nahlási už štvrtýkrát.
Ak počet návštev presiahne 10-krát za deň, chyba sa nahlási na jedenásty raz.
Scenár: Potrebujem obmedziť API rozhranie na jednu IP, ktorú je možné žiadať len 3-krát za minútu, keď zapnem plug-in, nie je problém normálne pristupovať k bráne Kong cez IP adresu, ale horná vrstva Kongu stále obsahuje nginx ako záťaž, takže IP získaná Kongom je vždy súkromná IP nginx stroja, takže všetky IP adresy môžu pristupovať k API rozhraniu len 3-krát za minútu, nie jedna IP 3-krát za minútu.
Ako je znázornené na obrázku nižšie, pokiaľ je rozhranie požadované 3-krát za minútu, všetci návštevníci budú odmietnutí.
Nainštaloval som plugin http-log na zaznamenanie požiadavky a príslušných informácií, aby sme ich mohli ladiť.
Keďže Kong nedostáva client_ip adresu normálne, ako môžem tento problém napraviť?
Riešenie
Upravte konfiguračný súbor kong,
/etc/kong/kong.conf文件,增加trusted_ips = 0.0.0.0/0,::/0
real_ip_header = X-preposlané-pre
NapokonReštart Kong, príkaz: Kong Reštart
trusted_ips
Definujte blok dôveryhodných IP adries, o ktorých je známe, že posielajú správnu X-Forwarded-* hlavičku. Požiadavky z dôveryhodných IP IP spôsobujú, že Kong preposiela svoju hlavičku do X-Forwarded-* smerom vyššie. Nedôveryhodné požiadavky spôsobia, že Kong vloží vlastnú X-Forwarded-* hlavičku.
Táto vlastnosť tiež nastavuje direktívu v konfigurácii set_real_ip_fromNginx. Prijíma hodnoty rovnakého typu (CIDR bloky), ale zoznamy oddelené čiarkami.
Dôverovať všetkým /! \IP, prosím, nastavte túto hodnotu na 0.0.0.0/0,::/0.
Ak unix: špecifikuje špeciálnu hodnotu, všetky UNIX doménové sockety budú dôveryhodné. Referenčná dokumentácia:https://docs.konghq.com/0.14.x/configuration/#trusted_ips
Po dokončení úpravy môže Kong správne získať IP adresu klienta, ako je znázornené na obrázku nižšie:
(Koniec)
|