Kong plugin
A Kong pluginje négy dimenziót támogat, a végrehajtási sorrend felülről lefelé, és fontos megjegyezni, hogy ha ugyanazt a bővítményt különböző dimenziókban konfigurálják, csak egyszer hajtják végre:
- Alkalmazzuk az API plus fogyasztói keveréket;
- A fogyasztókra alkalmazva;
- Az API-ban alkalmazva;
- Globálisan alkalmazva;
Ráadásul nem minden plugin támogatja a fogyasztók meghatározását
Hozzáadj egy másik API-t teszteléshez Új felület hozzáadása a cél:
{ "created_at": 1515055457572, "strip_uri": igaz, "azonosító": "a99919d1-0770-40a1-81a9-e3c31fd9d282", "név": "rugócsizm-konsul-szolgálat2", "módszerek": [ "FOGD" ], "http_if_terminated": hamis, "preserve_host": hamis, "upstream_url": "http://spring-boot-consul-service2.service.dc1.consul:17004", "uris": [ "/user" ], "upstream_send_timeout": 60000, "upstream_connect_timeout": 60000, "upstream_read_timeout": 60000, "Próbálkozás": 5, "https_only": hamis
}
Steamek hozzáadása
{ "created_at": 1515055993113, "rendeléslista": [ 41, 28, 44, 14, 79, 38, 30, 69, 15, 88, 72, 53, 89, 47, 81, 43, 60, 91, 92, 100, 98, 55, 12, 40, 9, 31, 84, 24, 36, 39, 96, 74, 6, 8, 93, 99, 78, 34, 49, 37, 61, 76, 33, 35, 32, 77, 70, 26, 52, 87, 73, 23, 57, 25, 17, 90, 62, 82, 19, 75, 50, 4, 51, 42, 65, 66, 63, 3, 1, 68, 94, 67, 20, 80, 54, 7, 5, 16, 85, 13, 46, 10, 97, 22, 48, 11, 27, 86, 18, 59, 83, 21, 56, 95, 2, 64, 58, 71, 45, 29 ], "azonosító": "6b8bc38a-d449-47bf-8b8c-19b888e282d4", "név": "spring-boot-consul-service2.service.dc1.consul", "Slots": 100
}
Célpontok hozzáadása
Taget információk
{ "összesen": 3, "adatok": [ { "created_at": 1515056103599, "ID": "994e7886-3e48-45cb-80AD-3f7918ede007", "upstream_id": "6b8bc38a-d449-47bf-8b8c-19b888e282d4", "cél": "192.168.0.186:17004", "súly": 15 }, { "created_at": 1515056109570, "ID": "03B477ee-A69D-49ee-9892-276F451C373C", "upstream_id": "6b8bc38a-d449-47bf-8b8c-19b888e282d4", "cél": "192.168.0.185:17004", "súly": 15 }, { "created_at": 1515056112730, "ID": "8ACE8d83-4504-4334-AD04-F0B536963DF9", "upstream_id": "6b8bc38a-d449-47bf-8b8c-19b888e282d4", "cél": "192.168.0.184:17004", "súly": 15 } ]
}
Az API-k jelenlegi listája a következő:
{ "összesen": 2, "adatok": [ { "created_at": 1515055457572, "strip_uri": igaz, "azonosító": "a99919d1-0770-40a1-81a9-e3c31fd9d282", "név": "rugócsizm-konsul-szolgálat2", "módszerek": [ "FOGD" ], "http_if_terminated": hamis, "https_only": hamis, "upstream_url": "http://spring-boot-consul-service2.service.dc1.consul:17004", "uris": [ "/user" ], "preserve_host": hamis, "upstream_connect_timeout": 60000, "upstream_read_timeout": 60000, "upstream_send_timeout": 60000, "Próbálkozás": 5 }, { "created_at": 1514995615974, "strip_uri": igaz, "azonosító": "b8431831-6a77-434e-ac4a-7e379550714f", "név": "rugós-csizma-konzul-szolgálat", "módszerek": [ "FOGD" ], "http_if_terminated": hamis, "https_only": hamis, "upstream_url": "http://spring-boot-consul-service.service.dc1.consul:17003", "uris": [ "/service" ], "preserve_host": hamis, "upstream_connect_timeout": 60000, "upstream_read_timeout": 60000, "upstream_send_timeout": 60000, "Próbálkozás": 5 } ]
}
A hozzáférési interfészek a következőket adják vissza:
{ "SMS": "Oké", "dátum": { "Pontszám": 42, "név": "fa", "azonosító": 1, "életkor": 12, "nowTime": 1515060166929, "info": "/checkUser, host:192.168.0.186, service_id:application-1700417004" }, "kód": 200
} { "SMS": "Oké", "dátum": { "Pontszám": 505, "név": "fa", "azonosító": 1, "életkor": 12, "nowTime": 1515060402392, "info": "/checkUser, host:192.168.0.184, service_id:application-1700317003" }, "kód": 200
} Add hozzá a Key-Auth plugint
Nyisd meg a key-auth plugint
{ "created_at": 1515066239000, "config": { "key_in_body": hamis, "run_on_preflight": igaz, "névtelen": "", "hide_credentials": hamis, "key_names": [ "Apikey" ] }, "azonosító": "78c519d3-11f7-4cdf-b038-9f17f1a83427", "engedélyezve": igaz, "api_id": "a99919d1-0770-40a1-81a9-e3c31fd9d282", "név": "kulcs-auth"
} Ezután egy ilyen hibával lépj be az interfészhez:
Távolítsd el a key-auth plugint
Nézd meg az API binding plugint
Add hozzá a sebességkorlátozó plugin sebességkorlátozást
Kimenet
{ "created_at": 1515068825000, "config": { "perc": 10, "policy": "klaszter", "redis_timeout": 2000, "hide_client_headers": hamis, "második": 2, "limit_by": "fogyasztó", "redis_port": 6379, "redis_database": 0, "fault_tolerant": igaz }, "azonosító": "482c627f-4041-4320-9b2f-0cc7722b92ea", "név": "sebességkorlátozó", "api_id": "a99919d1-0770-40a1-81a9-e3c31fd9d282", "engedélyezve": igaz
} Ha a hozzáférési felület meghaladja a határt, a következő visszajelzések érkeznek:
Visszatérés
{ "message": "API sebességhatár túlmutatott"
} Azonban vannak problémák is, mert az üzenetformátum fix, a kimeneti formátum nem konzisztens a háttérszolgáltatással, és egyedi üzenetformátumokat kell támogatni.
Kong módosítja a kivétel visszaküldési értékét Például a szolgáltatás egységes üzenetformátuma a következő:
{ "kód": 200, "SMS": "Oké", "data": {xxx}
} Azt is szeretnénk, ha a Kong kivételes visszatérése ugyanazon a formátumban maradna, mint fent. Ezután közvetlenül módosíthatjuk a Kong forráskódját, ami valójában nagyon egyszerű.
Kezdd azzal, hogy letölti a forráskódot
#下载kong插件源码
git clonegit@github.com:kong/kong.git
Keresd meg a módosítandó kimeneti kódot
A kimeneti kód a kong/kong/tools/responses.lua oldalon található, nyisd meg szerkesztésre.
Mentsd meg, majd fordítsd
[root@tree81 kong]# Luarocks A kong 0.11.2-0 most telepítve van /usr/local (licenc: MIT) Indítás, próbáld újra
Frissítsd gyorsan a címet többször egymás után:A hiperlink bejelentkezés látható.Hibaüzenetet kap:
{ "kód": 429, "msg": "API sebességhatár túlmutatott"
} Kész, tökéletes :) |