Kong Gateway greičio ribojimo įskiepis.
Nustatykite dabartines limito taisykles pagal metus, mėnesį, dieną, valandą, minutę ir sekundę, ir vienu metu įsigalios keli apribojimai.
Pavyzdžiui, ne daugiau kaip 10 skambučių per dieną, ne daugiau kaip 3 kartus per minutę.
Kai per minutę apsilanko daugiau nei 3 apsilankymai, apie klaidą bus pranešta ketvirtą kartą.
Kai apsilankymų skaičius viršija 10 kartų per dieną, apie klaidą bus pranešta vienuoliktą kartą.
Scenarijus: Man reikia apriboti API sąsają iki vieno IP, kurio galima paprašyti tik 3 kartus per minutę, kai įjungiu papildinį, nėra problemų įprastai pasiekti kongo šliuzą per IP, tačiau viršutiniame kongo sluoksnyje vis tiek yra nginx kaip apkrova, todėl kongo gautas IP visada yra privatus nginx mašinos IP, todėl visi IP gali pasiekti API sąsają tik 3 kartus per minutę, nė vienas IP nepasiekia sąsajos 3 kartus per minutę.
Kaip parodyta paveikslėlyje žemiau, kol sąsajos prašoma 3 kartus per minutę, visi lankytojai bus atmesti.
Įdiegiau http-log įskiepį, kad įrašyčiau užklausą ir atitinkamą informaciją, kad galėtume ją derinti.
Kadangi Kongas normaliai negauna client_ip adreso, kaip galiu išspręsti šią problemą?
Sprendimas
Pakeiskite kongo konfigūracijos failą,
/etc/kong/kong.conf文件,增加trusted_ips = 0.0.0.0/0,::/0
real_ip_header = X persiųstas
PagaliauIš naujo paleiskite Kongą, komanda: kong paleisti iš naujo
trusted_ips
Apibrėžkite patikimų IP adresų, kurie, kaip žinoma, siunčia teisingą X-Forwarded-* antraštę, bloką. Dėl patikimų IP užklausų Kongas peradresuoja antraštę į X-Forwarded-* prieš srovę. Nepatikimos užklausos priverčia Kongą įterpti savo X-Forwarded-* antraštę.
Ši ypatybė taip pat nustato direktyvą set_real_ip_fromNginx konfigūracijoje. Jis priima to paties tipo reikšmes (CIDR blokus), bet kableliais atskirtus sąrašus.
Pasitikėti visais /! \IP, nustatykite šią reikšmę į 0.0.0.0/0,::/0.
Jei unix: nurodo specialią reikšmę, visi UNIX domeno lizdai bus patikimi. Informaciniai dokumentai:https://docs.konghq.com/0.14.x/configuration/#trusted_ips
Baigęs modifikaciją, kongas gali teisingai gauti kliento IP adresą, kaip parodyta paveikslėlyje žemiau:
(Pabaiga)
|