Не удается открыть веб-сокет из приложения React через NGINX - PullRequest
0 голосов
/ 29 августа 2018

У меня есть закрепленное приложение React frontend, которое обслуживается через NGINX:

FROM nginx:alpine
COPY default.conf /etc/nginx/conf.d
COPY ./build /usr/share/nginx/html/

.build - это мое веб-приложение React. default.conf содержит это:

server {
    listen       80;

    server_name  localhost;
    location / {
        root   /usr/share/nginx/html;
        index  index.html index.htm;
    }
    location /api/ {
      proxy_pass http://api:8080;
    }
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }
}

Мое веб-приложение отправляет запросы к другому связанному контейнеру с именем api, поэтому все вызовы /api являются прокси, передаваемыми в контейнер api.

Пока все хорошо.

Проблема возникает, когда я пытаюсь открыть веб-сокет. Сервер Websocket прослушивает также в api контейнере, но в порту 8081.

В моем коде у меня есть это:

const socket = openSocket('http://api:8081'); //openSocket is from socket.io library

Но в моей консоли Chrome я получаю ERR_NAME_NOT_RESOVED.

Как я могу настроить NGINX, чтобы прокси передавал этот запрос в api контейнер?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...