Я довольно новичок в GCP, поэтому прошу простить мое невежество. Я пытаюсь соединить несколько битов вместе, а именно:
Я пытаюсь заставить экземпляр Node общаться с экземпляром ChatScript через websocket. Однако при этом я получаю странный ответ, но я не знаю, исходит ли он от GCP или ChatScript:
\u0015\u0003\u0001\u0000\u0002\u0002F
Это происходит при подключении через порт 443, используя либо канонический URL, либо IP экземпляра CR. Я также уверен, что это никак не связано с Node.
В статье на Medium были некоторые команды, которые я пытался выполнить, чтобы разрешить вебсокеты и проброс портов, но у меня такое чувство, что это красная селедка. Сервер ChatScript получает команду запускаться на $PORT
из Dockerfile, так что это, несомненно, должно сделать проброс портов автоматически?
Я также обновил правила брандмауэра, чтобы разрешить 443 и 8080, но я не думаю, что это тоже правильно.
Думаю, главное, что мешает мне решить проблему, это то, что я понятия не имею, что должен означать ответ. Является ли факт наличия какого-либо ответа свидетельством того, что GCP выполняет свою работу, и именно двоичный файл, запущенный на этом порту, вызывает проблему?
Мне также интересно, не перепутал ли я некоторые конфигурации различных служб GCP и не смешал ли их вместе...?
В любом случае, вот файлы, которые я использую. Любая помощь будет принята с благодарностью.
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
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