axios ECONNREFUSED при запросе в сервисе docker-compose за обратным прокси-сервером nginx - PullRequest
0 голосов
/ 05 декабря 2018

У меня есть две настройки docker-compose, основным сервисом является SPA, содержащий:

  • прокси nginx для wordpress через порт 80
  • wordpress + mysql
  • expressjs для обслуживания порта приложения реакции 6000

Это выполняется за другим docker-compose, который в основном является обратным прокси-сервером nginx.

SPA прекрасно обслуживает веб-сайт и подключается к внутреннему API через обратный прокси.Однако, когда я пытаюсь сделать отдельный запрос https к API бэкэнда от server.js, я получаю это сообщение: { Error: connect ECONNREFUSED 127.0.0.1:443 at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1121:14) errno: 'ECONNREFUSED', code: 'ECONNREFUSED', syscall: 'connect', address: '127.0.0.1', port: 443 } И это не просто axios, простой wget для URL-адреса бэкенда также дает мне отказ в соединении.Образец для указанного запроса:

axios.put('/wc/v3/orders/934', { status: "completed" },{ withCredentials:true, auth: { username: process.env.REACT_APP_WC_ADMIN_CK_KEY, password: process.env.REACT_APP_WC_ADMIN_CS_KEY } }).then(function (response) { console.log(`ok`); }).catch(function (error) { console.log(error); });

Кто-нибудь знает, в чем здесь проблема?

1 Ответ

0 голосов
/ 05 декабря 2018

Если у вас есть несколько сред для создания докеров, то каждая из них по умолчанию открывает свою собственную сеть.Вы хотите совместно использовать сеть между ними, чтобы службы в одной среде могли обмениваться данными с другой.

# spa/docker-compose.yml
version: '2'
services:
  spa:
    ...
    networks:
      - app-net
networks:
  app-net:
    driver: bridge

.

# express/docker-compose.yml
version: '2'
services:
  api:
    ...
    networks:
      - spa_app-net
networks:
  spa_app-net:
    external: true
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...