Открытие Консульства Докер - PullRequest
0 голосов
/ 29 августа 2018

Я работаю в системе SOA и использую обнаружение службы консула с nginx и регистратором. все докеризовано. Идея состоит в том, чтобы все эти внутренние службы работали внутри контейнера докера, чтобы они были видны для сервера консула, и использовали nginx в качестве балансировщика нагрузки для маршрутизации запросов к нужному сервису.

Я успешно настроил консула и регистратора и проверил его с помощью интерфейса консула. Если я раскручиваю сервис, работающий в докере (например, redis), я вижу, что консул обнаруживает сервис. У меня проблема с настройкой nginx для подключения к вышестоящим серверам. У меня есть несколько служб PHP, работающих внутри контейнера, и я хочу, чтобы nginx подключился к нужному вышестоящему серверу и обработал ответ. однако nginx всегда возвращает 502.

вот мой файл nginx.conf

upstream app-cluster {
   least_conn;
   {{range service "app-http"}}server {{.Address}}:{{.Port}} 
    max_fails=3 fail_timeout=60 weight=1;
    {{else}}server 127.0.0.1:65535; # force a 502{{end}}
 }

 server {
  listen 80 default_server;
  location / {
    proxy_pass http://app-cluster;
    proxy_set_header X-Forwarded-For \$proxy_add_x_forwarded_for;
    proxy_set_header Host \$host;
    proxy_set_header X-Real-IP \$remote_addr;
}

}

Журнал ошибок nginx:

2018/08/29 09:56:29 [ошибка] 27 # 27: * 7 Ошибка connect () (111: соединение отклонено) при подключении к восходящему каналу, клиент: 192.168.10.24, сервер:, запрос: «GET / HTTP / 1.1 ", восходящий поток:" http://127.0.0.1:32795/", хост: "aci-host-01: 8080"

Кто-нибудь знает какое-либо исчерпывающее руководство по этому вопросу или может иметь представление, где может быть проблема? заранее спасибо

...