#kong
#kong
Вопрос:
Я пытался https://docs.konghq.com/getting-started-guide/2.1.x/expose-services / также у меня есть локальный сервер: kong /2.2.1 Я могу зарегистрировать службу и маршрутизатор, но когда я вызываю kong, чтобы перенаправить его, он выдает ошибку ниже.
служба зарегистрирована:
{
"host": "localhost",
"id": "2546864e-6ac0-41e5-b39f-b05310ac53f8",
"protocol": "http",
"read_timeout": 60000,
"tls_verify_depth": null,
"port": 16001,
"updated_at": 1607946666,
"ca_certificates": null,
"created_at": 1607946666,
"connect_timeout": 60000,
"write_timeout": 60000,
"name": "newkong",
"retries": 5,
"path": null,
"tls_verify": null,
"tags": null,
"client_certificate": null
}
маршрутизатор зарегистрирован :
{
"id": "726eec9e-b179-4731-937f-e85a10101987",
"tags": null,
"paths": [
"/customer"
],
"destinations": null,
"headers": null,
"protocols": [
"http",
"https"
],
"strip_path": true,
"created_at": 1607946800,
"request_buffering": true,
"hosts": null,
"name": "newkong-routing",
"updated_at": 1608446942,
"snis": null,
"preserve_host": false,
"regex_priority": 0,
"methods": null,
"sources": null,
"response_buffering": true,
"https_redirect_status_code": 426,
"path_handling": "v0",
"service": {
"id": "2546864e-6ac0-41e5-b39f-b05310ac53f8"
}
}
вызов kong на: http://localhost:8000/customer/1
чтобы он мог перенаправлять на http://localhost:16001/customer/1
{«сообщение»: «ни один маршрут не соответствует этим значениям»}
Ответ №1:
с первого взгляда это должно сработать. за исключением того, что восходящий путь будет удален, поскольку маршрут имеет "strip_path": true
.
{
"paths": [
"/customer"
],
"methods": null,
"hosts": null,
"snis": null,
"headers": null,
"protocols": [
"http",
"https"
],
"strip_path": true,
"created_at": 1607946800,
"request_buffering": true,
"name": "newkong-routing",
"updated_at": 1608446942,
"preserve_host": false,
"regex_priority": 0,
"sources": null,
"response_buffering": true,
"https_redirect_status_code": 426,
"path_handling": "v0",
"id": "726eec9e-b179-4731-937f-e85a10101987",
"destinations": null,
"tags": null,
"service": {
"id": "2546864e-6ac0-41e5-b39f-b05310ac53f8"
}
}
Поскольку единственными заданными свойствами маршрутизации являются «протоколы» и «пути», он должен работать. Вы уверены, что это правильно?
При выполнении запроса:
http://localhost:8000/customer/1
Он должен прокси-сервер к:
http://localhost:16001/1
потому что элемент path, который сопоставляется ( /customer
), удаляется.