Почему в kong gateway не работают локальные адреса

Установил Kong Gateway (Enterprise) on Docker

В kong manager добавил сервисы и роуты, и все отлично работают кроме localhost. Выдает сообщение "message": "An invalid response was received from the upstream server", в контейнере kong - log *2021/10/07 15:17:22 [error] 29#0: 460886 connect() failed (111: Connection refused) while connecting to upstream, client: 172.19.0.1, server: kong, request: "GET / HTTP/1.1", upstream: "http://127.0.0.1:80/", host: "localhost"

введите сюда описание изображения

введите сюда описание изображения

по гуглив, в одной статье нашел что идет конфликт контейнера kong c localhost, вместо локалхоста нужно вставлять ip, командой docker network inspect kong-ee-net я определил этот ip, но результата это не принесло, все то же самое сообщение "message": "An invalid response was received from the upstream server". Помогите пожалуйста разобраться, уже 3 дня не могу понять как это исправить.


Ответы (1 шт):

Автор решения: Exploding Kitten

Если вы пытаетесь проксировать трафик через Kong в некий сервис, пусть для примера это будет nginx, то правильно localhost не будет работать, т.к. этот адрес будет указывать на контейнер с Kong, а там никакого сервиса нет.

Чтобы решить эту проблему, то вместо localhost вы можете указать ip контейнера/сервиса, например, 172.18.0.4 - это ip адрес nginx запущеного в другом контейнере. Узнать адрес можно через docker inspect <container>.

Или вы можете указать имя контейнера, если он запущен в одной docker сети, что и Kong. Например, если я запустил nginx с именем test, то test я и могу указать вместо localhost.

→ Ссылка