Ten artykuł jest lustrzanym artykułem tłumaczenia maszynowego, kliknij tutaj, aby przejść do oryginalnego artykułu.

Widok: 10942|Odpowiedź: 0

Ograniczanie szybkości wtyczek Kong

[Skopiuj link]
Opublikowano 15.02.2019 14:54:45 | | | |
Wtyczka ograniczająca szybkość bram Kong.

Ustal aktualne zasady limitów na podstawie roku, miesiąca, dnia, godziny, minuty i sekundy, a wiele ograniczeń wchodzi w życie jednocześnie.

Na przykład nie więcej niż 10 połączeń dziennie, nie więcej niż 3 razy na minutę.

Gdy w ciągu minuty jest więcej niż 3 wizyty, błąd zostanie zgłoszony za czwartym razem.

Gdy liczba wizyt przekracza 10 razy dziennie, błąd zostanie zgłoszony po raz jedenasty.


Scenariusz: Muszę ograniczyć interfejs API do jednego IP, które można żądać tylko 3 razy na minutę, po włączeniu wtyczki nie ma problemu z normalnym dostępem do bramy Kong przez IP, ale górna warstwa Konga nadal ma nginx jako obciążenie, więc IP uzyskane przez Kong jest zawsze prywatnym IP maszyny nginx, więc wszystkie adresy IP mogą uzyskać dostęp do interfejsu API tylko 3 razy na minutę, a żaden IP nie korzysta z interfejsu 3 razy na minutę.

Jak pokazano na poniższym rysunku, dopóki interfejs jest żądany 3 razy na minutę, wszyscy odwiedzający będą odrzucani.



Zainstalowałem wtyczkę http-log, aby zapisać żądanie i odpowiadające im informacje, żebyśmy mogli je debugować.



Ponieważ Kong nie otrzymuje client_ip adresu normalnie, jak mogę rozwiązać ten problem?

Rozwiązanie

Zmodyfikuj plik konfiguracyjny kong,

/etc/kong/kong.conf文件,增加trusted_ips = 0.0.0.0/0,::/0

real_ip_header = X-Forwarded-For


W końcuRestart Konga, komenda: kong ponownie uruchamiaj



trusted_ips

Zdefiniuj blok zaufanych adresów IP, które są znane z wysyłania poprawnego nagłówka X-Forwarded-*. Żądania od zaufanych adresów IP powodują, że Kong przekazuje swój nagłówek do X-Forwarded-* w górę. Nieufne żądania powodują, że Kong wstawia własny nagłówek X-Forwarded-*.

Ta właściwość ustawia również dyrektywę w konfiguracji set_real_ip_fromNginx. Akceptuje wartości tego samego typu (bloki CIDR), ale listy rozdzielone przecinkami.

Ufać wszystkim /! \IP, proszę ustaw tę wartość na 0.0.0.0/0,::/0.

Jeśli unix: określa specjalną wartość, wszystkie gniazda domeny UNIX będą zaufane.
Dokumentacja referencyjna:https://docs.konghq.com/0.14.x/configuration/#trusted_ips

Po zakończeniu modyfikacji kong może poprawnie uzyskać adres IP klienta, jak pokazano na poniższym rysunku:



(Koniec)






Poprzedni:Atrybut wyszukiwania lokalizacji
Następny:Metoda split() w JavaScript
Zrzeczenie się:
Całe oprogramowanie, materiały programistyczne lub artykuły publikowane przez Code Farmer Network służą wyłącznie celom edukacyjnym i badawczym; Powyższe treści nie mogą być wykorzystywane do celów komercyjnych ani nielegalnych, w przeciwnym razie użytkownicy ponoszą wszelkie konsekwencje. Informacje na tej stronie pochodzą z Internetu, a spory dotyczące praw autorskich nie mają z nią nic wspólnego. Musisz całkowicie usunąć powyższą zawartość z komputera w ciągu 24 godzin od pobrania. Jeśli spodoba Ci się program, wspieraj oryginalne oprogramowanie, kup rejestrację i korzystaj z lepszych, autentycznych usług. W przypadku naruszenia praw prosimy o kontakt mailowy.

Mail To:help@itsvse.com