#kubernetes #kraken.js #krakend #uber-kraken
Вопрос:
Мне нужна помощь новичка, чтобы разобраться. Я запускаю его на Ubuntu. Конфигурация приведена ниже.
Я могу без проблем подключиться к API /healthz.
Моя проблема заключается в том, что путь /hello возвращает ошибку 500. Я хочу, чтобы этот путь был перенаправлен на приложение Quarkus, которое работает по адресу http://getting-started36-getting-going.apps.bamboutos.hostname.us/.
Почему это не работает? Если я изменю серверную часть /hello и использую поддельный хост, я получу результат exacts ame. Это говорит о том, что KrakendD даже не пытается подключиться к серверной части.
В журналах КракендД говорит:
Error #01: invalid character 'H' looking for beginning of value
kraken.json:
{
"version": 2,
"port": 9080,
"extra_config": {
"github_com/devopsfaith/krakend-gologging": {
"level": "DEBUG",
"prefix": "[KRAKEND]",
"syslog": false,
"stdout": true,
"format": "default"
}
},
"timeout": "3000ms",
"cache_ttl": "300s",
"output_encoding": "json",
"name": "KrakenD API Gateway Service",
"endpoints": [
{
"endpoint": "/healthz",
"extra_config": {
"github.com/devopsfaith/krakend/proxy": {
"static": {
"data": { "status": "OK"},
"strategy": "always"
}
}
},
"backend": [
{
"url_pattern": "/",
"host": ["http://fake-backend"]
}
]
},
{
"endpoint": "/hello",
"extra_config": {},
"backend": [
{
"url_pattern": "/hello",
"method": "GET",
"host": [
"http://getting-started36-getting-going.apps.bamboutos.hostname.us/"
]
}
]
}
]
}
Что я упускаю?
Ответ №1:
добавьте «кодировку»: «строку» в внутренний раздел.
"backend": [
{
"url_pattern": "/hello",
"method": "GET",
"encoding": "string" ,
"host": [
"http://getting-started36-getting-going.apps.bamboutos.hostname.us/"
]
}
]