Plugin Kong
Pluginul lui Kong suportă patru dimensiuni, ordinea execuției este de sus în jos, și trebuie menționat că, dacă același plugin este configurat în dimensiuni diferite, va fi executat o singură dată:
- Aplică API-ul plus mixul consumatorilor;
- Aplicat consumatorilor;
- Aplicat în API;
- Aplicat la nivel global;
De asemenea, nu toate pluginurile suportă definirea consumatorilor
Adaugă un alt API pentru testare Adaugă o interfață nouă:
{ "created_at": 1515055457572, "strip_uri": adevărat, "id": "a99919d1-0770-40a1-81a9-e3c31fd9d282", "nume": "cizmă-primă-consul-serviciu2", "metode": [ "PLEACĂ" ], "http_if_terminated": fals, "preserve_host": fals, "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, "înfrângeri": 5, "https_only": fals
}
Adaugă Steam
{ "created_at": 1515055993113, "lista de ordine": [ 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 ], "id": "6b8bc38a-d449-47bf-8b8c-19b888e282d4", "nume": "spring-boot-consul-service2.service.dc1.consul", "sloturi": 100
}
Adaugă ținte
Informații despre Tagets
{ "total": 3, "date": [ { "created_at": 1515056103599, "id": "994e7886-3e48-45cb-80ad-3f7918ede007", "upstream_id": "6b8bc38a-d449-47bf-8b8c-19b888e282d4", "țintă": "192.168.0.186:17004", "greutate": 15 }, { "created_at": 1515056109570, "id": "03b477ee-a69d-49ee-9892-276f451c373c", "upstream_id": "6b8bc38a-d449-47bf-8b8c-19b888e282d4", "țintă": "192.168.0.185:17004", "greutate": 15 }, { "created_at": 1515056112730, "id": "8ace8d83-4504-4334-ad04-f0b536963df9", "upstream_id": "6b8bc38a-d449-47bf-8b8c-19b888e282d4", "țintă": "192.168.0.184:17004", "greutate": 15 } ]
}
Lista actuală a API-urilor este următoarea:
{ "total": 2, "date": [ { "created_at": 1515055457572, "strip_uri": adevărat, "id": "a99919d1-0770-40a1-81a9-e3c31fd9d282", "nume": "cizmă-primă-consul-serviciu2", "metode": [ "PLEACĂ" ], "http_if_terminated": fals, "https_only": fals, "upstream_url": "http://spring-boot-consul-service2.service.dc1.consul:17004", "uris": [ "/user" ], "preserve_host": fals, "upstream_connect_timeout": 60000, "upstream_read_timeout": 60000, "upstream_send_timeout": 60000, "încercări": 5 }, { "created_at": 1514995615974, "strip_uri": adevărat, "id": "b8431831-6a77-434e-ac4a-7e379550714f", "Nume": "Spring-Boot-Consul-Service", "metode": [ "PLEACĂ" ], "http_if_terminated": fals, "https_only": fals, "upstream_url": "http://spring-boot-consul-service.service.dc1.consul:17003", "uris": [ "/serviciu" ], "preserve_host": fals, "upstream_connect_timeout": 60000, "upstream_read_timeout": 60000, "upstream_send_timeout": 60000, "încercări": 5 } ]
}
Interfețele de acces returnează următoarele:
{ "MSG": "OK", "data": { "scor": 42, "nume": "copac", "id": 1, "vârstă": 12, "nowTime": 1515060166929, "info": "/checkUser, host:192.168.0.186, service_id:application-1700417004" }, "cod": 200
} { "MSG": "OK", "data": { "scor": 505, "nume": "copac", "id": 1, "vârstă": 12, "nowTime": 1515060402392, "info": "/checkUser, host:192.168.0.184, service_id:application-1700317003" }, "cod": 200
} Adaugă pluginul Key-Auth
Deschide pluginul key-auth
{ "created_at": 1515066239000, "config": { "key_in_body": fals, "run_on_preflight": adevărat, "anonim": "", "hide_credentials": fals, "key_names": [ "apikey" ] }, "id": "78c519d3-11f7-4cdf-b038-9f17f1a83427", "activat": adevărat, "api_id": "a99919d1-0770-40a1-81a9-e3c31fd9d282", "nume": "key-auth"
} Apoi accesează interfața cu o eroare de genul aceasta:
Elimină pluginul de autentificare
Verifică pluginul de legătură API
Adaugă limitarea ratei pluginului de limitare a ratei
Producție
{ "created_at": 1515068825000, "config": { "minute": 10, "politică": "cluster", "redis_timeout": 2000, "hide_client_headers": fals, "al doilea": 2, "limit_by": "consumator", "redis_port": 6379, "redis_database": 0, "fault_tolerant": adevărat }, "id": "482c627f-4041-4320-9b2f-0cc7722b92ea", "nume": "limitare a ratei", "api_id": "a99919d1-0770-40a1-81a9-e3c31fd9d282", "activat": adevărat
} Când interfața de acces depășește limita, vor fi primite următoarele returnări:
Întoarcerea
{ "message": "Limita de rată API depășită"
} Totuși, există totuși unele probleme, deoarece formatul mesajului este fix, formatul de ieșire nu este consistent cu serviciul backend și trebuie suportate formate personalizate de mesaj.
Kong modifică valoarea returnării excepțiilor De exemplu, formatul unificat al mesajului serviciului este următorul:
{ "cod": 200, "MSG": "OK", "date": {xxx}
} De asemenea, dorim ca returnarea excepțiilor pentru Kong să rămână în același format ca mai sus. Apoi putem modifica direct codul sursă al lui Kong, ceea ce este de fapt foarte simplu.
Începe prin a descărca codul sursă
#下载kong插件源码
Clonă Gitgit@github.com:Kong/kong.git
Localizează codul de ieșire de modificat
Codul de ieșire se află în kong/kong/tools/responses.lua, deschide-l pentru editare.
Salvează, apoi compilează
[root@tree81 Kong]# Luarocks fac Kong 0.11.2-0 este acum instalat în /USR/Local (licență: MIT) Lansare, încearcă din nou
Reîmprospătează rapid adresa de mai multe ori la rând:Autentificarea cu hyperlink este vizibilă.Primesc un mesaj de eroare:
{ "cod": 429, "msg": "Limita de rată API depășită"
} Gata, perfectă :) |