Назад | Перейти на главную страницу

Подключение к websocket в контейнере докеров Google Cloud Run

Я новичок в GCP, прошу простить меня за незнание. Я пытаюсь соединить несколько битов, а именно:

Я пытаюсь заставить экземпляр Node разговаривать с экземпляром ChatScript через веб-сокет. Однако при этом я получаю очень странный ответ, но не знаю, от GCP он или от ChatScript:

\u0015\u0003\u0001\u0000\u0002\u0002F

Это происходит при подключении через порт 443 с использованием канонического URL-адреса или IP-адреса экземпляра CR. Я также уверен, что это не имеет отношения к Node.

Были некоторые команды в Средняя статья который я пытался запустить, чтобы разрешить веб-сокеты и переадресацию портов, но у меня такое чувство, что это отвлекающий маневр. Серверу ChatScript предлагается работать на $PORT из Dockerfile, так что перенаправление портов должно выполняться автоматически?

Я также обновил правила брандмауэра, чтобы разрешить 443 и 8080, но я тоже не думаю, что это правильно.

Думаю, главное, что заставляет меня бороться с проблемой, - это то, что я понятия не имею, что означает ответ. Означает ли тот факт, что есть какой-либо ответ, что GCP выполняет свою работу и что проблема связана с двоичным кодом, запущенным на этом порту?

Мне также интересно, смешиваю ли я некоторые конфигурации из разных сервисов GCP и смешиваю их все вместе ...?

Во всяком случае, вот файлы, которые я использую. Любая помощь будет оценена.

Dockerfile

FROM ubuntu:trusty

RUN echo 'deb http://archive.ubuntu.com/ubuntu trusty main' >/etc/apt/sources.list
RUN echo 'deb http://archive.ubuntu.com/ubuntu trusty-security main' >>/etc/apt/sources.list
RUN echo 'deb http://archive.ubuntu.com/ubuntu trusty-updates main' >>/etc/apt/sources.list
RUN echo 'deb http://archive.ubuntu.com/ubuntu trusty universe' >>/etc/apt/sources.list
RUN apt-get update
RUN apt-get install -y --force-yes autoconf \
curl \
git \
wget \
unzip

COPY chatscript-client /bin/
RUN chmod +x /bin/chatscript-client

ENV DEBIAN_FRONTEND noninteractive

COPY build/Botname /bin/Botname

RUN ls -lah /bin/
RUN ls -lah /bin/Botname

RUN chmod +x /bin/Botname/BINARIES/LinuxChatScript64

USER root

CMD ["/bin/chatscript-client"]

чат-клиент

#!/bin/bash

echo "Listening on port $PORT"

cd /bin/Botname/
./BINARIES/LinuxChatScript64 PORT=$PORT

app.f flexible.yaml

env: flex

env_variables:
  DB_USER: foo
  DB_PASS: foo
  DB_NAME: foo
  CLOUD_SQL_CONNECTION_NAME: foo:europe-west1:foo

beta_settings:
  cloud_sql_instances:foo:europe-west1:foo

network:
  forwarded_ports:
    - 65080
    instance_tag: websocket