Plugin Kong
Plugin Kong mendukung empat dimensi, urutan eksekusi dari atas ke bawah, dan perlu dicatat bahwa jika plugin yang sama dikonfigurasi dalam dimensi yang berbeda, itu hanya akan dieksekusi sekali:
- Terapkan API plus campuran konsumen;
- Diterapkan pada konsumen;
- Diterapkan di API;
- Diterapkan secara global;
Selain itu, tidak semua plugin mendukung penentuan konsumen
Menambahkan API lain untuk pengujian Tambahkan antarmuka baru:
{ "created_at": 1515055457572, "strip_uri": benar, "id": "a99919d1-0770-40a1-81a9-e3c31fd9d282", "nama": "pegas-boot-consul-service2", "metode": [ "DAPATKAN" ], "http_if_terminated": salah, "preserve_host": salah, "upstream_url": "http://spring-boot-consul-service2.service.dc1.consul:17004", "uris": [ "/pengguna" ], "upstream_send_timeout": 60000, "upstream_connect_timeout": 60000, "upstream_read_timeout": 60000, "percobaan": 5, "https_only": salah
}
Tambahkan uap
{ "created_at": 1515055993113, "daftar pesanan": [ 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", "name": "spring-boot-consul-service2.service.dc1.consul", "slot": 100
}
Menambahkan target
Tamendapatkan Informasi
{ "total": 3, "data": [ { "created_at": 1515056103599, "id": "994e7886-3e48-45cb-80ad-3f7918ede007", "upstream_id": "6b8bc38a-d449-47bf-8b8c-19b888e282d4", "target": "192.168.0.186:17004", "berat": 15 }, { "created_at": 1515056109570, "id": "03b477ee-a69d-49ee-9892-276f451c373c", "upstream_id": "6b8bc38a-d449-47bf-8b8c-19b888e282d4", "target": "192.168.0.185:17004", "berat": 15 }, { "created_at": 1515056112730, "id": "8ace8d83-4504-4334-ad04-f0b536963df9", "upstream_id": "6b8bc38a-d449-47bf-8b8c-19b888e282d4", "target": "192.168.0.184:17004", "berat": 15 } ]
}
Daftar API saat ini adalah sebagai berikut:
{ "total": 2, "data": [ { "created_at": 1515055457572, "strip_uri": benar, "id": "a99919d1-0770-40a1-81a9-e3c31fd9d282", "nama": "pegas-boot-consul-service2", "metode": [ "DAPATKAN" ], "http_if_terminated": salah, "https_only": salah, "upstream_url": "http://spring-boot-consul-service2.service.dc1.consul:17004", "uris": [ "/pengguna" ], "preserve_host": salah, "upstream_connect_timeout": 60000, "upstream_read_timeout": 60000, "upstream_send_timeout": 60000, "percobaan": 5 }, { "created_at": 1514995615974, "strip_uri": benar, "id": "b8431831-6a77-434e-ac4a-7e379550714f", "nama": "layanan konsul sepatu pegas", "metode": [ "DAPATKAN" ], "http_if_terminated": salah, "https_only": salah, "upstream_url": "http://spring-boot-consul-service.service.dc1.consul:17003", "uris": [ "/layanan" ], "preserve_host": salah, "upstream_connect_timeout": 60000, "upstream_read_timeout": 60000, "upstream_send_timeout": 60000, "percobaan": 5 } ]
}
Antarmuka akses mengembalikan yang berikut ini:
{ "msg": "oke", "tanggal": { "skor": 42, "nama": "pohon", "id": 1, "usia": 12, "nowTime": 1515060166929, "info": "/checkUser, host:192.168.0.186, service_id:application-1700417004" }, "kode": 200
} { "msg": "oke", "tanggal": { "skor": 505, "nama": "pohon", "id": 1, "usia": 12, "nowTime": 1515060402392, "info": "/checkUser, host:192.168.0.184, service_id:application-1700317003" }, "kode": 200
} Tambahkan plugin Key-Auth
Buka plugin key-auth
{ "created_at": 1515066239000, "config": { "key_in_body": salah, "run_on_preflight": benar, "anonim": "", "hide_credentials": salah, "key_names": [ "apikey" ] }, "id": "78c519d3-11f7-4cdf-b038-9f17f1a83427", "enabled": true, "api_id": "a99919d1-0770-40a1-81a9-e3c31fd9d282", "name": "key-auth"
} Kemudian akses antarmuka dengan kesalahan seperti ini:
Hapus plugin key-auth
Lihat plugin pengikat API
Tambahkan pembatasan kecepatan plugin pembatasan kecepatan
keluaran
{ "created_at": 1515068825000, "config": { "menit": 10, "policy": "cluster", "redis_timeout": 2000, "hide_client_headers": salah, "kedua": 2, "limit_by": "konsumen", "redis_port": 6379, "redis_database": 0, "fault_tolerant": benar }, "id": "482c627f-4041-4320-9b2f-0cc7722b92ea", "name": "pembatasan laju", "api_id": "a99919d1-0770-40a1-81a9-e3c31fd9d282", "enabled": true
} Ketika antarmuka akses melebihi batas, pengembalian berikut akan diterima:
Kembali
{ "message": "Batas tarif API terlampaui"
} Namun, masih ada beberapa masalah, karena format pesan diperbaiki, format output tidak konsisten dengan layanan backend, dan format pesan khusus perlu didukung.
Kong memodifikasi nilai pengembalian pengecualian Misalnya, format pesan terpadu layanan adalah sebagai berikut:
{ "kode": 200, "msg": "oke", "data": {xxx}
} Kami juga ingin pengembalian pengecualian kong tetap dalam format yang sama seperti di atas. Kemudian kita bisa langsung memodifikasi kode sumber Kong, yang sebenarnya sangat sederhana.
Mulailah dengan mengunduh kode sumber
#下载kong插件源码
git klongit@github.com:Kong/kong.git
Temukan kode output yang akan dimodifikasi
Kode keluaran terletak di kong/kong/tools/responses.lua, buka untuk diedit.
Simpan, lalu kompilasi
[root@tree81 kong]# luarocks membuat kong 0.11.2-0 sekarang diinstal di /usr/local (lisensi: MIT) Luncurkan, coba lagi
Segarkan alamat dengan cepat beberapa kali berturut-turut:Login hyperlink terlihat.Mendapatkan pesan error:
{ "kode": 429, "msg": "Batas tarif API terlampaui"
} Selesai, sempurna :) |