Ошибка не удалось подключиться к модулю nginx push stream отправки мгновенных сообщений

Добрый день. Судя по форуму моя тема довольно часто обсуждаема, но решения я найти не смогСкачал с сайта инсталятор, который загрузил мне гипервизор и виртуальную машину к ней. Из главного меню получил сертификат sslТеперь  в тестировании конфигурации пишетКод Ошибка! Не удалось подключиться к модулю nginx-push-stream отправки мгновенных сообщений 2020-Feb-13 10:28:22 Живые комментарии в ленте сообщений (check_pull_comments): Fail Ошибка! Не настроен модуль nginx push-stream, который необходим для...
 

Пользователь 3952232

Заглянувший

Сообщений: 10
Авторитет:

0

Рейтинг пользователя:

0

Регистрация: 13.02.2020

#1

0

13.02.2020 11:43:30

Добрый день. Судя по форуму моя тема довольно часто обсуждаема, но решения я найти не смог
Скачал с сайта инсталятор, который загрузил мне гипервизор и виртуальную машину к ней.
Из главного меню получил сертификат ssl
Теперь  в тестировании конфигурации пишет

Код
Ошибка! Не удалось подключиться к модулю nginx-push-stream отправки мгновенных сообщений
2020-Feb-13 10:28:22 Живые комментарии в ленте сообщений (check_pull_comments): Fail
Ошибка! Не настроен модуль nginx push-stream, который необходим для отображения комментариев в живой ленте в реальном режиме времени
2020-Feb-13 10:28:22 Видеозвонки (check_turn): Fail
Ошибка! Не настроен модуль nginx push-stream, который необходим для осуществления видеозвонков

Подскажите, как понять в чём проблема?
До этого создавал тему тут

https://dev.1c-bitrix.ru/support/forum/forum23/topic128618/

 

Пользователь 136059

Гуру

Сообщений: 5418
Баллов: 636
Авторитет:

22

Рейтинг пользователя:

0

Регистрация: 16.07.2012

#2

0

13.02.2020 12:01:59

Цитата
Матвей Михайлов написал:
Из главного меню получил сертификат ssl

Теперь отктройте в админке вкладку — Управление масштабированием и на квадратике Push нажмите установить (или удалить, а потом установить)

Голосуй за идеи по развитию API Bitrix:
https://idea.1c-bitrix.ru/26707/
https://idea.1c-bitrix.ru/26709/
https://idea.1c-bitrix.ru/the-local-extension-folder-js/

 

Если навести курсор на квадратик PUSH, то ничего сверху не всплывает. Сам квадратик синего цвета

 

Матвей Михайлов, у вас коробка CRM что-ли?

 

Да. Решили протестировать перед покупкой, но не можем победить звонки

 

Коллеги. Буду рад любой помощи. Первый раз работаю с Битрикс и сам разобраться не могу

 

Пользователь 988219

Посетитель

Сообщений: 52
Баллов: 8
Авторитет:

1

Рейтинг пользователя:

0

Регистрация: 03.03.2017

#7

0

04.03.2020 09:16:23

https://i.imgur.com/mGmGRud.png

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

Введение

Если у вас есть коробочная версия Битрикс24, и вы хотите использовать живую ленту, мгновенный чат, и получать push уведомления на телефон — вам понадобится модуль push and pull.

Под капотом у модуля модуль push and pull находится nginx с дополнительным модулем nginx-push-stream-module. Данный модуль не входит в стандартную поставку, поэтому для его подключения нужно собирать (компилировать) nginx из исходников.

Модуль nginx-push-stream-module есть в виртуальной машине битрикса (BitrixVM) из коробки. Поэтому самое простое решение данной задачи — развернуть BitrixVM и поставить на нее корпоративный портал.

Но если у вас нет BitrixVM и вы не хотите только ради этого переходить на нее — нужно скомпилировать nginx с поддержкой модуля nginx-push-stream-module из исходников, вручную.

Проблема

При работе с сайтом в публичной части выводится красная полоска с сообщением об ошибке “Отсутствует соединение с сервером”. Эта ошибка говорит о наличии проблемы с модулем push and pull.

При наличии такой ошибки, чтобы увидеть новое сообщение в чате — нужно либо долго ждать, либо перезагрузить страницу. В живой ленте обновления тоже будут появляться с большой задержкой или после перезагрузки страницы.

Можно выделить ряд характерных сообщений об ошибках (их можно найти в админке или в логах), свидетельствующих о необходимости настройки модуля push and pull:

  • потеряно соединение с сервером
  • выключена опция nginx push stream module в настройках модуля push and pull
  • модуль nginx-push-stream работает некорректно
  • не удалось подключиться к модулю nginx-push-stream отправки мгновенных сообщений
  • не работает бизнес-чат в реальном времени (check_pull_stream): fail
  • не настроен модуль nginx push-stream-module
  • требуется установка nginx-push-stream-module
  • требуется настройка bitrix push server
  • требуется компиляция nginx для модуля push and pull для корпоративного портала

Коллеги-специалисты, которыми я задавал вопрос про настройку данного модуля ничего толком подсказать не смогли. Официальная иформация разбросана по разным статьям и всегда заканчивается рекомендацией воспользоваться BitrixVM. Поэтому трудно понять правильную последовательность действий.

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

Проблемы с настройкой модуля push and pull регулярно возникают у многих. Судя по всему, задача не имеет тривиального решения, и исчерпывающего руководства, собранного в одном месте. Попробую исправить ситуацию.

Сборка nginx с модулем nginx-push-stream-module

В учебном курсе Администратор. Модули → Push and Pull сказано

Соберите NGINX с поддержкой модуля nginx-push-stream-module;

но не сказано в деталях как его собрать. Об этом сказано на сайте самого модуля nginx-push-stream-module, в разделе Installation. Там подробно описан процесс сборки, но есть некоторые нюансы, которые я хочу рассмотреть.

Текущая версия модуля nginx-push-stream-module 0.5.4, а в документации битрикса сказано:

Внимание! Работа модуля Push and Pull поддерживается только до версии 0.5 nginx-push-stream-module. Более свежии версии не поддерживаются, так как для работы Push and Pull разрабатывается специальное решение от «1С-Битрикс».

Еще одна сложность заключается в том, что версия модуля nginx-push-stream-module завязана на версию nginx. Версия моего текущего nginx была 1.12 и мне не удалось собрать из исходников эту же версию nginx, которая бы скомпилировалась с модулем nginx-push-stream-module версии 0.5 или 0.5.4. Поэтому я решил попробовать собрать nginx последней версии с последней версией модуля nginx-push-stream-module.

В конечном счете, чтобы собрать nginx у меня получилась такая конфигурация:

$ ./configure --add-module=../nginx-push-stream-module --with-zlib=./zlib-1.2.11 --with-openssl=./openssl-1.0.2n --with-pcre=./pcre-8.41 --with-http_ssl_module

--with-http_ssl_module — этот модуль нужен обязательно, если на сайте используется https. А для этого модуля нужна openssl библиотека. Но последняя версия (1.1.0) openssl библиотеки не годится, так как с ней nginx не компилируется — это известный баг и пока что нужно использовать старую версию(1.0.2).

--with-zlib — Библиотека нужна для модуля ngx_http_gzip_module. Указывается путь к папке с исходниками библиотеки.

--with-pcre — Библиотека нужна для использования регулярных выражений в директиве location и для модуля ngx_http_rewrite_module. Указывается путь к папке с исходниками библиотеки.

--add-module=../nginx-push-stream-module — подключаем модуль nginx-push-stream-module. Указывается путь к папке с исходниками библиотеки.

То есть, сначала нужно скачать исходники всех библиотек, распаковать их (например в текущей папке) и указать путь к ним.

Итоговый список bash команд (запускать от имени пользователя root), чтобы собрать nginx со всеми необходимыми модулями:

# clone the nginx-push-stream-module project
git clone https://github.com/wandenberg/nginx-push-stream-module.git
NGINX_PUSH_STREAM_MODULE_PATH=$PWD/nginx-push-stream-module

# get desired nginx version (works with 1.2.0+)
wget http://nginx.org/download/nginx-1.2.0.tar.gz

# extract nginx
tar xzvf nginx-1.2.0.tar.gz
cd nginx-1.2.0

# download and extract zlib module
wget http://zlib.net/zlib-1.2.11.tar.gz
tar -xf zlib-1.2.11.tar.gz

# download and extract openssl module
wget https://www.openssl.org/source/openssl-1.0.2n.tar.gz
tar -xf openssl-1.0.2n.tar.gz

# download and extract pcre module
wget https://ftp.pcre.org/pub/pcre/pcre-8.41.tar.gz
tar -xf pcre-8.41.tar.gz

# configure and build
./configure --add-module=../nginx-push-stream-module --with-zlib=./zlib-1.2.11 --with-openssl=./openssl-1.0.2n --with-pcre=./pcre-8.41 --with-http_ssl_module
make build

# install and finish
make install

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

После успешного выполнения команды ./configure, должно получить примерно следующее:

nginx binary file: "/usr/local/nginx/sbin/nginx" — в этом месте будет располагаться новый собранный бинарник, отсюда его нужно будет копировать вместо старого.

После успешного выполнения команды make install (она может выполняться долго), должно получиться примерно следующее:

Если появились какие-то сообщения об ошибках или есть строки красного цвета, значит что-то пошло не так.

Теперь можно проверить, правильно ли собрался nginx, есть ли там указанные модули /usr/local/nginx/sbin/nginx -V:

Таким же образом, можно перед сборкой посмотреть, какие модули были ранее установлены в старом nginx, скопировать их и добавить в список модулей для установки, при компиляции нового бинарника nginx.

Подключение собранного nginx

Порядок действий:

  • положить новый бинарник в рабочую папку вместо старого ( у меня /usr/sbin/nginx)
  • проверить и настроить пути к конфигам
  • остановить службу nginx
  • проверить, что нет ошибок
  • перезапустить службу nginx

Список bash команд для подключения нового бинарника, в общем виде:

service nginx stop
mv /path/to/old/nginx /path/to/old/nginx_backup
mv /usr/local/nginx/sbin/nginx /path/to/old/nginx
ngint -t
service nginx start

/path/to/old/ — замените на свой путь к старому бинарнику.

Не удаляйте старый бинарник! Переименуйте его на время тестирования, чтобы вернуть его назад, если возникнут проблемы с работой сайтов.

Новый бинарник подтянет старые файлы конфигурации, однако сразу же проверьте работоспособность своих сайтов.

Но если путь к конфигам отличается от стандартного и не был указан при компиляции — может понадобится прописать путь к старому конфигу.

В моем случае новый бинарник подтягивал конфиг из /usr/local/nginx/conf/nginx.conf, а старые конфиги былы тут /etc/nginx/nginx.conf. Для решения этой проблемы достаточно создать симлинк на старый путь:

cd /usr/local/nginx/
mv conf/ conf_del
ln -s /etc/nginx/ ./conf

Настройка nginx для модуля push and pull

1) В nginx добавить в блок server{} (для виртуального хоста) локейшены из битриксовой документации

# Location for long-polling connections
location ^~ /bitrix/sub {
    # we don't use callback and droppped it (XSS)
    if ( $arg_callback ) {
        return 400;
    }

    push_stream_subscriber            long-polling;
    push_stream_allowed_origins "*";
    push_stream_channels_path        $arg_CHANNEL_ID;
    push_stream_last_received_message_tag    $arg_tag;
    if ($arg_time) {
        push_stream_last_received_message_time "$arg_time";
    }
    push_stream_longpolling_connection_ttl    40;
    push_stream_authorized_channels_only    on;
    push_stream_message_template '#!NGINXNMS!#{"id":~id~,"channel":"~channel~","tag":"~tag~","time":"~time~","eventid":"~event-id~","text":~text~}#!NGINXNME!#';
}

# Location for websocet connections
location ^~ /bitrix/subws/ {
    push_stream_subscriber websocket;
    push_stream_channels_path        $arg_CHANNEL_ID;
    push_stream_websocket_allow_publish    off;
    push_stream_ping_message_interval    40s;
    push_stream_authorized_channels_only     on;
    push_stream_last_received_message_tag    "$arg_tag";
    push_stream_last_received_message_time    "$arg_time";
    push_stream_message_template '#!NGINXNMS!#{"id":~id~,"channel":"~channel~","tag":"~tag~","time":"~time~","eventid":"~event-id~","text":~text~}#!NGINXNME!#';
}

2) В nginx добавить общие настройки модуля push and pull.

Нужно создать новый файл в папке с конфигами nginx для виртуального хоста, например push_and_pull.conf и поместить в него настройки.
Некоторые строки пришлось закомментировать, так как они нужны только для BitrixVM.

# Common settings for nginx-push-stream-module
push_stream_shared_memory_size 256M;
push_stream_max_messages_stored_per_channel 1000;
push_stream_max_channel_id_length 32;
push_stream_max_number_of_channels 200000;
push_stream_message_ttl 86400;

# поддержка мобильных платформ, для http запросов
server {
    # nginx-push-stream-module server for push & pull

    listen 8893;
    server_name _;
    
    # Include error handlers
    #include bx/conf/errors.conf;
    
    # Include im subscrider handlers
    #include bx/conf/im_subscrider.conf;
    
    location ^~ / { deny all; }
}

# поддержка мобильных платформ, для https запросов
# SSL enabled server for reading personal channels
server {
    listen 8894;
    server_name _;
    
    #include bx/conf/ssl.conf;
    
    # Include error handlers
    #include bx/conf/errors.conf;
    
    # Include im subscrider handlers
    #include bx/conf/im_subscrider.conf;
    
    location ^~ / { deny all; }
}

# для публикации сообщений
# Server to push messages to user channels
server {
    listen 127.0.0.1:8895;
    server_name _;
    
    location ^~ /bitrix/pub/ {
        push_stream_publisher admin;
        push_stream_channels_path $arg_CHANNEL_ID;
        push_stream_store_messages on;
        allow 127.0.0.0/8;
        deny all;
    }
    
    location ^~ / { deny all; }
    
    # Include error handlers
    #include bx/conf/errors.conf;
}

3) Включить модуль push and pull в настройках в админке

Значение параметра На сервер установлена ближе всего к Виртуальная машина 4.4 и выше (nginx-push-stream-module 0.4.0), поэтому устанавливаем именно этот вариант.

Теперь можно тестировать работу модуля push and pull — сообщения в чате должны приходить мгновенно, а в живой ленте должны появляться изменения (комментарии, просмотры, лайки, записи) без перезагрузки страницы.

Настройка модуля Bitrix NodeJS RTC

Push сервер на основе nginx не справлялся с нагрузкой, которую создавали пользователи облачного сервиса Битрикс24, и поэтому появилась необходимость в разработке нового push сервера — NodeJS RTC, у которого под капотом Node.js. Новый push сервер встроен в BitrixVM версии 7+ и есть инструкция по его настройке. Мне не удалось найти информацию, как его настраивать без использования BitrixVM.

Для любой коробочной версии корпоративного портала, в которой количество активных пользователей намного меньше, чем в облачной версии — вполне хватит старой реализации push сервера на основе nginx.

Заключение

Чтобы запустить модуль push and pull необязательно ставить BitrixVM.

Есть мнение, что сборка из исходников — это слишком простой путь, и что правильнее собрать полноценный deb-пакет, который будет управляться пакетным менеджером. Для такого пакета можно запретить обновление (hold), чтобы впредь не обновлялся.

В данном случае опробована связка Debian + nginx 1.2.0 + nginx-push-stream-module 0.5.4 + bitrix 17.5.8 — все работает.

Полезные ссылки

Общая информация

  • Зачем настраивать модуль Push&Pull

Инструкции по сборке nginx

  • Сборка nginx из исходных файлов — офиц. документация
  • Пример сборки nginx с добавлением модуля ngx_pagespeed
  • Учебный курс — Администратор. Модули — Push and Pull
  • Как установить nginx push-and-pull на Debian (для Bitrix)
  • Push and Pull for Bitrix without BitrixEnv

Исходники библиотек

  • nginx core
  • nginx-push-stream-module (push and pull)
  • zlib
  • openssl
  • pcre

Решение возможных проблем

  • git command not found
  • make command not found
  • configure: error: You need a C++ compiler for C++ support
  • nginx — src/core/ngx_sha1.h:19:17: no such file or directory

@samkh81

Hi, Thanks for uploading this. I didn’t understand step three. I am new to linux.

Can you please explain this more:

make symlink to push.conf from conf.d (must be inclided in nginx.conf) cd conf.d ln -s ../bx/push.conf

Where do I find conf.d file? I tried searching for it on my server (hosted online) and got these results:
./etc/fonts/conf.d
./usr/local/cpanel/base/horde/turba/config/conf.d
./usr/share/ghostscript/conf.d
./usr/share/doc/dovecot-2.2.21/example-config/conf.d
./usr/share/abrt/conf.d

@belukov

Hello.
conf.d is a directory and usually exists in /etc/nginx/ dir. All configs from conf.d automatically included in nginx.conf
something like this:

# /etc/nginx/nginx.conf
include /etc/nginx/conf.d/*.conf;

you can make it easier. just add into your nginx.cong this line:

include /etc/nginx/bx/push.conf

@belukov

I just corrected README, maybe now it will be more helpfull.
Let me know about result

@samkh81

I did that but my Bitrix server check still says:

Error! Cannot connect to nginx-push-stream module for sending instant messages

Do I need to reload the config file or do something else? Any ideas what the issue could be?

Appreciate your help
Thanks

@belukov

Try to check:

  1. Opened ports.
    By default, 8893 — for http clients, 8894 — for https clients, and 8895 — for server (connect locally)
    therefore 8893 must be opened for outdor connections
  2. Look at Push&Pull module settings page in admin panel, there some nessesary settings too
  3. To localize the problem, use next trick from console:
# open new channel
curl -s -v -X POST 'http://127.0.0.1:8895/bitrix/pub/?CHANNEL_ID=test' -d 'Hello World!'

you must see something like {«channel»: «test», «published_messages»: «1», «stored_messages»: «1», «subscribers»: «0»}
In other console connect local client:

curl -s -v --no-buffer 'http://localhost:8893/bitrix/sub/?CHANNEL_ID=test'

If ok, you will see some HTTP headers and console will waiting response.
Then in first console repeat POST command, in second you will see some message
If that ok, try to connect client from some other server by IP or domain name
That help you to understand where is problem

Glad to help :)

@samkh81

When I ran this:

open new channel

curl -s -v -X POST ‘http://127.0.0.1:8895/bitrix/pub/?CHANNEL_ID=test’ -d ‘Hello World!’

I got this response:
About to connect() to 127.0.0.1 port 8895 (#0)

  • Trying 127.0.0.1… Connection refused
  • couldn’t connect to host
  • Closing connection #0

so I seem to have missed something but I don’t know where the problem is

@belukov

It means that nobody listening port 8895, or maybe firewall too strict.

to ensure that nginx is listening, run this:

there must be strings like:

tcp        0      0 0.0.0.0:8893                0.0.0.0:*                   LISTEN      -
tcp        0      0 0.0.0.0:8894                0.0.0.0:*                   LISTEN      -
tcp        0      0 127.0.0.1:8895              0.0.0.0:*                   LISTEN      -

to check firewall rules:

to ansure that push&pull module included, run

and find nginx-push-stream-module . if exists then ok.
else try to reinstall nginx with module. don’t forget remove old instance before? it may cause problems in some cases..

@samkh81

Netsat results:

Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:2077 0.0.0.0:* LISTEN 4791/cpdavd — accep
tcp 0 0 0.0.0.0:2078 0.0.0.0:* LISTEN 4791/cpdavd — accep
tcp 0 0 0.0.0.0:2079 0.0.0.0:* LISTEN 4791/cpdavd — accep
tcp 0 0 0.0.0.0:2080 0.0.0.0:* LISTEN 4791/cpdavd — accep
tcp 0 0 0.0.0.0:993 0.0.0.0:* LISTEN 4664/dovecot
tcp 0 0 0.0.0.0:2082 0.0.0.0:* LISTEN 1933/cpsrvd (SSL) —
tcp 0 0 0.0.0.0:995 0.0.0.0:* LISTEN 4664/dovecot
tcp 0 0 0.0.0.0:2083 0.0.0.0:* LISTEN 1933/cpsrvd (SSL) —
tcp 0 0 0.0.0.0:2086 0.0.0.0:* LISTEN 1933/cpsrvd (SSL) —
tcp 0 0 0.0.0.0:2087 0.0.0.0:* LISTEN 1933/cpsrvd (SSL) —
tcp 0 0 0.0.0.0:587 0.0.0.0:* LISTEN 23556/exim
tcp 0 0 0.0.0.0:110 0.0.0.0:* LISTEN 4664/dovecot
tcp 0 0 127.0.0.1:783 0.0.0.0:* LISTEN 1042/spamd child
tcp 0 0 0.0.0.0:143 0.0.0.0:* LISTEN 4664/dovecot
tcp 0 0 0.0.0.0:2095 0.0.0.0:* LISTEN 1933/cpsrvd (SSL) —
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 5402/httpd
tcp 0 0 0.0.0.0:2096 0.0.0.0:* LISTEN 1933/cpsrvd (SSL) —
tcp 0 0 0.0.0.0:465 0.0.0.0:* LISTEN 23556/exim
tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN 3689/pure-ftpd (SER
tcp 0 0 192.163.239.29:53 0.0.0.0:* LISTEN 1257/named
tcp 0 0 127.0.0.1:53 0.0.0.0:* LISTEN 1257/named
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1447/sshd
tcp 0 0 0.0.0.0:9080 0.0.0.0:* LISTEN 10876/nginx
tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN 23556/exim
tcp 0 0 127.0.0.1:953 0.0.0.0:* LISTEN 1257/named
tcp 0 0 0.0.0.0:26 0.0.0.0:* LISTEN 23556/exim
tcp 0 0 0.0.0.0:443 0.0.0.0:* LISTEN 5402/httpd
tcp 0 3376 192.163.239.29:22 77.30.214.210:53993 ESTABLISHED 16103/sshd
tcp 0 0 192.163.239.29:80 77.30.214.210:54366 TIME_WAIT —
tcp 0 0 :::993 :::* LISTEN 4664/dovecot
tcp 0 0 :::995 :::* LISTEN 4664/dovecot
tcp 0 0 :::3306 :::* LISTEN 23195/mysqld
tcp 0 0 :::110 :::* LISTEN 4664/dovecot
tcp 0 0 :::143 :::* LISTEN 4664/dovecot
tcp 0 0 :::80 :::* LISTEN 5402/httpd
tcp 0 0 :::21 :::* LISTEN 3689/pure-ftpd (SER
tcp 0 0 :::22 :::* LISTEN 1447/sshd
tcp 0 0 :::443 :::* LISTEN 5402/httpd

@samkh81

I don’t see entries for ports 8893-8894-8895

@belukov

Me too..

Hmm.. nignx listening 9080, httpd listening 80 ? Why? oO

What OS are you using? CentOs or somthing nearest?
If so, you better try that:
https://dev.1c-bitrix.ru/learning/course/?COURSE_ID=37&LESSON_ID=6489
(i don’t know where find ENG copy of this page)

Anyway, check that nginx include module

to ensure that push&pull module included, run

and find nginx-push-stream-module . if exists then ok.
else try to reinstall nginx with module. don’t forget remove old instance before? it may cause >problems in some cases..

@samkh81

When I ran command nginx -V I got this response
-bash: nginx: command not found

Does this mean nginx is not installed? My server is online hosted VPS server with CentOS running on it. I thought by installing nginx-push-stream-module that meant I had installed nginx. Or is it a different installation? after I installed nginx-push-stream-module then I installed your package

@samkh81

I guess nginx was not installed. I found a link on bluehost on how to install it. I did that and now when I run nginx -V command I get this:
nginx version: nginx/1.9.14
built by gcc 4.4.7 20120313 (Red Hat 4.4.7-16) (GCC)
built with OpenSSL 1.0.1e-fips 11 Feb 2013
TLS SNI support enabled
configure arguments: —with-http_flv_module —with-ipv6 —with-http_mp4_module —with-pcre=/usr/local/src/publicnginx/pcre-8.35 —sbin-path=/usr/local/sbin —conf-path=/etc/nginx/nginx.conf —pid-path=/var/run/nginx.pid —error-log-path=/var/log/nginx/error.log —http-log-path=/var/log/nginx/access.log —with-http_realip_module —with-http_ssl_module —http-client-body-temp-path=/tmp/nginx_client —http-proxy-temp-path=/tmp/nginx_proxy —http-fastcgi-temp-path=/tmp/nginx_fastcgi —with-http_stub_status_module

@samkh81

but bitrix still shows an error of
Error! Cannot connect to nginx-push-stream module for sending instant messages

any ideas what to do now? Sorry to bother you

@belukov

@samkh81

I think its almost working but now I get this error:

[emerg] unknown directive «push_stream_shared_memory_size» in /etc/nginx/bx/conf/im_settings.conf:3

any ideas?

@samkh81

I finally got nginx-push-stream module installed. I was previously installing under the incorrect nginx folder . Now bitrix is no longer showing this error:
Error! Cannot connect to nginx-push-stream module for sending instant messages

now Notifications to mobile devices (push notifications) shows that push and pull is configured correctly

however, Real time business chat shows error: Error! nginx-push-stream module functions incorrectly.

Live comments shows error: Error! nginx-push-stream module is required to show comments in real time but not configured properly.

and video calls shows error Error! nginx-push-stream module is required to make video calls but not configured properly.

@samkh81

Hi, Thanks for uploading this. I didn’t understand step three. I am new to linux.

Can you please explain this more:

make symlink to push.conf from conf.d (must be inclided in nginx.conf) cd conf.d ln -s ../bx/push.conf

Where do I find conf.d file? I tried searching for it on my server (hosted online) and got these results:
./etc/fonts/conf.d
./usr/local/cpanel/base/horde/turba/config/conf.d
./usr/share/ghostscript/conf.d
./usr/share/doc/dovecot-2.2.21/example-config/conf.d
./usr/share/abrt/conf.d

@belukov

Hello.
conf.d is a directory and usually exists in /etc/nginx/ dir. All configs from conf.d automatically included in nginx.conf
something like this:

# /etc/nginx/nginx.conf
include /etc/nginx/conf.d/*.conf;

you can make it easier. just add into your nginx.cong this line:

include /etc/nginx/bx/push.conf

@belukov

I just corrected README, maybe now it will be more helpfull.
Let me know about result

@samkh81

I did that but my Bitrix server check still says:

Error! Cannot connect to nginx-push-stream module for sending instant messages

Do I need to reload the config file or do something else? Any ideas what the issue could be?

Appreciate your help
Thanks

@belukov

Try to check:

  1. Opened ports.
    By default, 8893 — for http clients, 8894 — for https clients, and 8895 — for server (connect locally)
    therefore 8893 must be opened for outdor connections
  2. Look at Push&Pull module settings page in admin panel, there some nessesary settings too
  3. To localize the problem, use next trick from console:
# open new channel
curl -s -v -X POST 'http://127.0.0.1:8895/bitrix/pub/?CHANNEL_ID=test' -d 'Hello World!'

you must see something like {«channel»: «test», «published_messages»: «1», «stored_messages»: «1», «subscribers»: «0»}
In other console connect local client:

curl -s -v --no-buffer 'http://localhost:8893/bitrix/sub/?CHANNEL_ID=test'

If ok, you will see some HTTP headers and console will waiting response.
Then in first console repeat POST command, in second you will see some message
If that ok, try to connect client from some other server by IP or domain name
That help you to understand where is problem

Glad to help :)

@samkh81

When I ran this:

open new channel

curl -s -v -X POST ‘http://127.0.0.1:8895/bitrix/pub/?CHANNEL_ID=test’ -d ‘Hello World!’

I got this response:
About to connect() to 127.0.0.1 port 8895 (#0)

  • Trying 127.0.0.1… Connection refused
  • couldn’t connect to host
  • Closing connection #0

so I seem to have missed something but I don’t know where the problem is

@belukov

It means that nobody listening port 8895, or maybe firewall too strict.

to ensure that nginx is listening, run this:

there must be strings like:

tcp        0      0 0.0.0.0:8893                0.0.0.0:*                   LISTEN      -
tcp        0      0 0.0.0.0:8894                0.0.0.0:*                   LISTEN      -
tcp        0      0 127.0.0.1:8895              0.0.0.0:*                   LISTEN      -

to check firewall rules:

to ansure that push&pull module included, run

and find nginx-push-stream-module . if exists then ok.
else try to reinstall nginx with module. don’t forget remove old instance before? it may cause problems in some cases..

@samkh81

Netsat results:

Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:2077 0.0.0.0:* LISTEN 4791/cpdavd — accep
tcp 0 0 0.0.0.0:2078 0.0.0.0:* LISTEN 4791/cpdavd — accep
tcp 0 0 0.0.0.0:2079 0.0.0.0:* LISTEN 4791/cpdavd — accep
tcp 0 0 0.0.0.0:2080 0.0.0.0:* LISTEN 4791/cpdavd — accep
tcp 0 0 0.0.0.0:993 0.0.0.0:* LISTEN 4664/dovecot
tcp 0 0 0.0.0.0:2082 0.0.0.0:* LISTEN 1933/cpsrvd (SSL) —
tcp 0 0 0.0.0.0:995 0.0.0.0:* LISTEN 4664/dovecot
tcp 0 0 0.0.0.0:2083 0.0.0.0:* LISTEN 1933/cpsrvd (SSL) —
tcp 0 0 0.0.0.0:2086 0.0.0.0:* LISTEN 1933/cpsrvd (SSL) —
tcp 0 0 0.0.0.0:2087 0.0.0.0:* LISTEN 1933/cpsrvd (SSL) —
tcp 0 0 0.0.0.0:587 0.0.0.0:* LISTEN 23556/exim
tcp 0 0 0.0.0.0:110 0.0.0.0:* LISTEN 4664/dovecot
tcp 0 0 127.0.0.1:783 0.0.0.0:* LISTEN 1042/spamd child
tcp 0 0 0.0.0.0:143 0.0.0.0:* LISTEN 4664/dovecot
tcp 0 0 0.0.0.0:2095 0.0.0.0:* LISTEN 1933/cpsrvd (SSL) —
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 5402/httpd
tcp 0 0 0.0.0.0:2096 0.0.0.0:* LISTEN 1933/cpsrvd (SSL) —
tcp 0 0 0.0.0.0:465 0.0.0.0:* LISTEN 23556/exim
tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN 3689/pure-ftpd (SER
tcp 0 0 192.163.239.29:53 0.0.0.0:* LISTEN 1257/named
tcp 0 0 127.0.0.1:53 0.0.0.0:* LISTEN 1257/named
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1447/sshd
tcp 0 0 0.0.0.0:9080 0.0.0.0:* LISTEN 10876/nginx
tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN 23556/exim
tcp 0 0 127.0.0.1:953 0.0.0.0:* LISTEN 1257/named
tcp 0 0 0.0.0.0:26 0.0.0.0:* LISTEN 23556/exim
tcp 0 0 0.0.0.0:443 0.0.0.0:* LISTEN 5402/httpd
tcp 0 3376 192.163.239.29:22 77.30.214.210:53993 ESTABLISHED 16103/sshd
tcp 0 0 192.163.239.29:80 77.30.214.210:54366 TIME_WAIT —
tcp 0 0 :::993 :::* LISTEN 4664/dovecot
tcp 0 0 :::995 :::* LISTEN 4664/dovecot
tcp 0 0 :::3306 :::* LISTEN 23195/mysqld
tcp 0 0 :::110 :::* LISTEN 4664/dovecot
tcp 0 0 :::143 :::* LISTEN 4664/dovecot
tcp 0 0 :::80 :::* LISTEN 5402/httpd
tcp 0 0 :::21 :::* LISTEN 3689/pure-ftpd (SER
tcp 0 0 :::22 :::* LISTEN 1447/sshd
tcp 0 0 :::443 :::* LISTEN 5402/httpd

@samkh81

I don’t see entries for ports 8893-8894-8895

@belukov

Me too..

Hmm.. nignx listening 9080, httpd listening 80 ? Why? oO

What OS are you using? CentOs or somthing nearest?
If so, you better try that:
https://dev.1c-bitrix.ru/learning/course/?COURSE_ID=37&LESSON_ID=6489
(i don’t know where find ENG copy of this page)

Anyway, check that nginx include module

to ensure that push&pull module included, run

and find nginx-push-stream-module . if exists then ok.
else try to reinstall nginx with module. don’t forget remove old instance before? it may cause >problems in some cases..

@samkh81

When I ran command nginx -V I got this response
-bash: nginx: command not found

Does this mean nginx is not installed? My server is online hosted VPS server with CentOS running on it. I thought by installing nginx-push-stream-module that meant I had installed nginx. Or is it a different installation? after I installed nginx-push-stream-module then I installed your package

@samkh81

I guess nginx was not installed. I found a link on bluehost on how to install it. I did that and now when I run nginx -V command I get this:
nginx version: nginx/1.9.14
built by gcc 4.4.7 20120313 (Red Hat 4.4.7-16) (GCC)
built with OpenSSL 1.0.1e-fips 11 Feb 2013
TLS SNI support enabled
configure arguments: —with-http_flv_module —with-ipv6 —with-http_mp4_module —with-pcre=/usr/local/src/publicnginx/pcre-8.35 —sbin-path=/usr/local/sbin —conf-path=/etc/nginx/nginx.conf —pid-path=/var/run/nginx.pid —error-log-path=/var/log/nginx/error.log —http-log-path=/var/log/nginx/access.log —with-http_realip_module —with-http_ssl_module —http-client-body-temp-path=/tmp/nginx_client —http-proxy-temp-path=/tmp/nginx_proxy —http-fastcgi-temp-path=/tmp/nginx_fastcgi —with-http_stub_status_module

@samkh81

but bitrix still shows an error of
Error! Cannot connect to nginx-push-stream module for sending instant messages

any ideas what to do now? Sorry to bother you

@belukov

@samkh81

I think its almost working but now I get this error:

[emerg] unknown directive «push_stream_shared_memory_size» in /etc/nginx/bx/conf/im_settings.conf:3

any ideas?

@samkh81

I finally got nginx-push-stream module installed. I was previously installing under the incorrect nginx folder . Now bitrix is no longer showing this error:
Error! Cannot connect to nginx-push-stream module for sending instant messages

now Notifications to mobile devices (push notifications) shows that push and pull is configured correctly

however, Real time business chat shows error: Error! nginx-push-stream module functions incorrectly.

Live comments shows error: Error! nginx-push-stream module is required to show comments in real time but not configured properly.

and video calls shows error Error! nginx-push-stream module is required to make video calls but not configured properly.

Содержание

  1. Проблема чего: «Ожидание доступного сокета»?
  2. WebSocket connection to ‘ws://localhost:4000/’ failed: Error during WebSocket handshake: Unexpected response code: 400 #4778
  3. Comments
  4. Настройка модуля Push and Pull для корпоративного портала 1С-Битрикс
  5. Введение
  6. Проблема
  7. Сборка nginx с модулем nginx-push-stream-module
  8. Подключение собранного nginx
  9. Настройка nginx для модуля push and pull
  10. Настройка модуля Bitrix NodeJS RTC
  11. Заключение
  12. WebSocket connection to failed: Invalid frame header #2557
  13. Comments

Проблема чего: «Ожидание доступного сокета»?

Добрый день!
Замечено следующее поведение и непонятно как его обойти. При множестве вкладок (в основном 8-10+) + новое обращение на сервере приводит к зависанию в вебкитовских браузерах.
Сначала замечено было на сайте КорПортала, но потом заметил забавную вещь — и если открыть форума битрикса чтук 10-15 вкладок, при открытии новой может выскочить такой же прикол.

Как решить данную проблему?
И вообще на уровне чего эта проблема существует? На уровне браузера ограничение, или на уровне сервера (его настроек) или на уровне самого движка битрикса?

Очень грустная ситуация, потому что части сотрудников компании приходится постоянно держать открытыми 10-20+ вкладок — много задач и по ним делать мониторинг, приходится много переключаться.
Уже месяц как перешли на коробку BX24 с мегаплана и мучаемся =(

P.S. Модуль nginx push stream настроен корректно, проверка функций BX24 на него не ругается (вообще все пункты зеленые), отключение в настройках данного модуля «вебСоккетов» (снятие галки) результата не дает.

Цитата
Максим Кучук написал:
Александр Букуров , это ограничение на уровне сервера срабатывает
Цитата
Роман Клевцов написал:
Подскажите, в каком разделе админки можно включить галку «Включить поддержку WebSocket». Тоже намучались (

Добрый день! У нас на свежей установке битрикса тоже есть проблема с websocket.
Конфигурация:
Виртуальная машина BitrixVM7.1.0 с объемом диска 20 Гб для OVA (Sphere and etc.)
1С-Битрикс: Корпоративный портал 17.0.5.
Доступ с внешки настроен через обратный прокси на базе nginx (думаю это ключевой момент)

Описание проблемы:
Постоянно появляются ошибки при работе следующего содержания:

«WebSocket connection to ‘ws://domain.ru/bitrix/subws/?CHANNEL_ID=9ec059209540e24cb61da2ad3072c960/a5dedb91e15e1b16 ­b84fcb7ea951a578&tag=1&time=Fri,%2018%20Mar%202022%2021:00:00%20GMT’ failed: Error during WebSocket handshake: Unexpected response code: 400»

При этом если в конфигурации модуля push and pull убрать галочку с настройки «Включить поддержку WebSocket», то ошибки нет, но тогда появляются ошибки «Ожидание свободного сокета» и часть открытых вкладок в браузере Chrome начинают сильно виснуть.
Проверка конфигурации ошибок по сокетам не показывает вобще, то есть судь по проверке системы — все ок.
Подскажите, возможно надо корректно настроить работу с сокетами за реверс прокси, как это сделать?

Источник

WebSocket connection to ‘ws://localhost:4000/’ failed: Error during WebSocket handshake: Unexpected response code: 400 #4778

I can’t figure out what is the problem?

server:

client:

; if (error) return

The text was updated successfully, but these errors were encountered:

Even I am facing the same issue. Did you find a solution?

Hi @ThiruvenkatamR, Did you try my suggestion, ws://localhost:4000/graphql.

Yes, I tried. But no luck

This is the error

‘The connection to ws://localhost:4000/graphql was interrupted while the page was loading.’

Thanks @vincenterc , this is working in Chrome, but I have this issue in Firefox. Thanks once again.

I continue to get this issue on my Angular 8 app. I seem to have all the correct code

Has anyone had any luck with this?

Hi, I’m facing the same issue. I tried this but it no works! Does anyone have a solution?

Any fix?? Facing the same problem with Apollo Client 3

Nevermind, i forgot to add the /graphql at the end of the url just like @vincenterc pointed out.

I had this: ws://localhost:4000

Working code just in case anyone else faces this:

Adding the /graphql fixed this issue for me too.

Was a reverseproxy configuration issue for me, not a library issue

Adding /subscriptions worked for me

My problem was that I am using an Express server and applying Apollo Server as a middleware. I was not aware that I need to call graphqlServer.installSubscriptionHandlers(expressServer) too, as this was buried deep in the docs. That needs to be called on the HTTP server instance you get returned from expressApp.listen() . Now it is working!

Thank you @danieldunderfelt . You saved my day.

Thank you @danieldunderfelt. You made my year.

This doesn’t sound like an Apollo Client issue, but if anyone thinks it is and can provide a small runnable reproduction using @apollo/client@latest , we’ll take a look. Thanks!

Источник

Настройка модуля Push and Pull
для корпоративного портала 1С-Битрикс

Введение

Если у вас есть коробочная версия Битрикс24, и вы хотите использовать живую ленту, мгновенный чат, и получать push уведомления на телефон — вам понадобится модуль push and pull.

Под капотом у модуля модуль push and pull находится nginx с дополнительным модулем nginx-push-stream-module. Данный модуль не входит в стандартную поставку, поэтому для его подключения нужно собирать (компилировать) nginx из исходников.

Модуль nginx-push-stream-module есть в виртуальной машине битрикса (BitrixVM) из коробки. Поэтому самое простое решение данной задачи — развернуть BitrixVM и поставить на нее корпоративный портал.

Но если у вас нет BitrixVM и вы не хотите только ради этого переходить на нее — нужно скомпилировать nginx с поддержкой модуля nginx-push-stream-module из исходников, вручную.

Проблема

При работе с сайтом в публичной части выводится красная полоска с сообщением об ошибке “Отсутствует соединение с сервером”. Эта ошибка говорит о наличии проблемы с модулем push and pull.

При наличии такой ошибки, чтобы увидеть новое сообщение в чате — нужно либо долго ждать, либо перезагрузить страницу. В живой ленте обновления тоже будут появляться с большой задержкой или после перезагрузки страницы.

Можно выделить ряд характерных сообщений об ошибках (их можно найти в админке или в логах), свидетельствующих о необходимости настройки модуля push and pull:

  • потеряно соединение с сервером
  • выключена опция nginx push stream module в настройках модуля push and pull
  • модуль nginx-push-stream работает некорректно
  • не удалось подключиться к модулю nginx-push-stream отправки мгновенных сообщений
  • не работает бизнес-чат в реальном времени (check_pull_stream): fail
  • не настроен модуль nginx push-stream-module
  • требуется установка nginx-push-stream-module
  • требуется настройка bitrix push server
  • требуется компиляция nginx для модуля push and pull для корпоративного портала

Коллеги-специалисты, которыми я задавал вопрос про настройку данного модуля ничего толком подсказать не смогли. Официальная иформация разбросана по разным статьям и всегда заканчивается рекомендацией воспользоваться BitrixVM. Поэтому трудно понять правильную последовательность действий.

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

Проблемы с настройкой модуля push and pull регулярно возникают у многих. Судя по всему, задача не имеет тривиального решения, и исчерпывающего руководства, собранного в одном месте. Попробую исправить ситуацию.

Сборка nginx с модулем nginx-push-stream-module

Соберите NGINX с поддержкой модуля nginx-push-stream-module;

но не сказано в деталях как его собрать. Об этом сказано на сайте самого модуля nginx-push-stream-module, в разделе Installation. Там подробно описан процесс сборки, но есть некоторые нюансы, которые я хочу рассмотреть.

Текущая версия модуля nginx-push-stream-module 0.5.4 , а в документации битрикса сказано:

Внимание! Работа модуля Push and Pull поддерживается только до версии 0.5 nginx-push-stream-module. Более свежии версии не поддерживаются, так как для работы Push and Pull разрабатывается специальное решение от «1С-Битрикс».

Еще одна сложность заключается в том, что версия модуля nginx-push-stream-module завязана на версию nginx. Версия моего текущего nginx была 1.12 и мне не удалось собрать из исходников эту же версию nginx, которая бы скомпилировалась с модулем nginx-push-stream-module версии 0.5 или 0.5.4. Поэтому я решил попробовать собрать nginx последней версии с последней версией модуля nginx-push-stream-module.

В конечном счете, чтобы собрать nginx у меня получилась такая конфигурация:

$ ./configure —add-module=../nginx-push-stream-module —with-zlib=./zlib-1.2.11 —with-openssl=./openssl-1.0.2n —with-pcre=./pcre-8.41 —with-http_ssl_module

—with-http_ssl_module — этот модуль нужен обязательно, если на сайте используется https. А для этого модуля нужна openssl библиотека. Но последняя версия (1.1.0) openssl библиотеки не годится, так как с ней nginx не компилируется — это известный баг и пока что нужно использовать старую версию(1.0.2).

—with-zlib — Библиотека нужна для модуля ngx_http_gzip_module. Указывается путь к папке с исходниками библиотеки.

—with-pcre — Библиотека нужна для использования регулярных выражений в директиве location и для модуля ngx_http_rewrite_module. Указывается путь к папке с исходниками библиотеки.

—add-module=../nginx-push-stream-module — подключаем модуль nginx-push-stream-module. Указывается путь к папке с исходниками библиотеки.

То есть, сначала нужно скачать исходники всех библиотек, распаковать их (например в текущей папке) и указать путь к ним.

Итоговый список bash команд (запускать от имени пользователя root ), чтобы собрать nginx со всеми необходимыми модулями:

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

После успешного выполнения команды ./configure , должно получить примерно следующее:

nginx binary file: «/usr/local/nginx/sbin/nginx» — в этом месте будет располагаться новый собранный бинарник, отсюда его нужно будет копировать вместо старого.

После успешного выполнения команды make install (она может выполняться долго), должно получиться примерно следующее:

Если появились какие-то сообщения об ошибках или есть строки красного цвета, значит что-то пошло не так.

Теперь можно проверить, правильно ли собрался nginx, есть ли там указанные модули /usr/local/nginx/sbin/nginx -V :

Таким же образом, можно перед сборкой посмотреть, какие модули были ранее установлены в старом nginx, скопировать их и добавить в список модулей для установки, при компиляции нового бинарника nginx.

Подключение собранного nginx

  • положить новый бинарник в рабочую папку вместо старого ( у меня /usr/sbin/nginx)
  • проверить и настроить пути к конфигам
  • остановить службу nginx
  • проверить, что нет ошибок
  • перезапустить службу nginx

Список bash команд для подключения нового бинарника, в общем виде:

/path/to/old/ — замените на свой путь к старому бинарнику.

Не удаляйте старый бинарник! Переименуйте его на время тестирования, чтобы вернуть его назад, если возникнут проблемы с работой сайтов.

Новый бинарник подтянет старые файлы конфигурации, однако сразу же проверьте работоспособность своих сайтов.

Но если путь к конфигам отличается от стандартного и не был указан при компиляции — может понадобится прописать путь к старому конфигу.

В моем случае новый бинарник подтягивал конфиг из /usr/local/nginx/conf/nginx.conf , а старые конфиги былы тут /etc/nginx/nginx.conf . Для решения этой проблемы достаточно создать симлинк на старый путь:

Настройка nginx для модуля push and pull

1) В nginx добавить в блок server<> (для виртуального хоста) локейшены из битриксовой документации

2) В nginx добавить общие настройки модуля push and pull.

Нужно создать новый файл в папке с конфигами nginx для виртуального хоста, например push_and_pull.conf и поместить в него настройки. Некоторые строки пришлось закомментировать, так как они нужны только для BitrixVM.

3) Включить модуль push and pull в настройках в админке

Значение параметра На сервер установлена ближе всего к Виртуальная машина 4.4 и выше (nginx-push-stream-module 0.4.0) , поэтому устанавливаем именно этот вариант.

Теперь можно тестировать работу модуля push and pull — сообщения в чате должны приходить мгновенно, а в живой ленте должны появляться изменения (комментарии, просмотры, лайки, записи) без перезагрузки страницы.

Настройка модуля Bitrix NodeJS RTC

Push сервер на основе nginx не справлялся с нагрузкой, которую создавали пользователи облачного сервиса Битрикс24, и поэтому появилась необходимость в разработке нового push сервера — NodeJS RTC, у которого под капотом Node.js. Новый push сервер встроен в BitrixVM версии 7+ и есть инструкция по его настройке. Мне не удалось найти информацию, как его настраивать без использования BitrixVM.

Для любой коробочной версии корпоративного портала, в которой количество активных пользователей намного меньше, чем в облачной версии — вполне хватит старой реализации push сервера на основе nginx.

Заключение

Чтобы запустить модуль push and pull необязательно ставить BitrixVM.

Есть мнение, что сборка из исходников — это слишком простой путь, и что правильнее собрать полноценный deb-пакет, который будет управляться пакетным менеджером. Для такого пакета можно запретить обновление (hold), чтобы впредь не обновлялся.

В данном случае опробована связка Debian + nginx 1.2.0 + nginx-push-stream-module 0.5.4 + bitrix 17.5.8 — все работает.

Источник

WebSocket connection to failed: Invalid frame header #2557

WebSocket connection to ‘ws://10.1.30.58/socket.io/?EIO=3&transport=websocket’ failed: Invalid frame header

The text was updated successfully, but these errors were encountered:

On network tab

On client:

I used node-static for serving files, with it socket.io doesn’t work. With express or default node(http) it works.

@lgg is this issue solved? I have got the same problem

@rizkiaditya24 i used express.js instead of node-static

Same issue. Any one have solution for it?
Error:
WebSocket connection to ‘ws://192.168.0.160/socket.io/?EIO=3&transport=websocket’ failed: Invalid frame header

@rrpatilcse what server you are using?
expressjs?

i used nginx proxy django websoket service.now no way got it!throw «WebSocket connection to failed: Invalid frame header»

@zengliangbigdata show your nginx config, i think it could be troubles with proxy_pass

Same issue here.

VM41:164 WebSocket connection to ‘ws://localhost:1337/socket.io/?EIO=3&transport=websocket&sid=dl2GgAoz02RW0OjCAAAC’ failed: Invalid frame header

In the node.js console got this messages:
info: Client disconnect: NaN error: Can not find client NaN on disconnect

I’m using Chrome and have this error. Everything works fine in IE.

Same issue, I only get the error in the chrome console

Same issue, I only get the error in the chrome console

SAME.. do you find any solution??

same!! someone tell me what’s going on

Hi, I have encountered the same issue.

I am using NodeJS (LTS v12.18.1) with ExpressJS (v4.17.1) and Socket.io (v2.3.0).

Here is my server.js

`const express = require(‘express’);

const app = express();

const server = require(‘http’).createServer(app);

const io = require(‘socket.io’)(server);

io.on(‘connection’ ,socket => <
// socket events handling
>);

Has anyone found a solution?

Hi, I have encountered the same issue.

I am using NodeJS (LTS v12.18.1) with ExpressJS (v4.17.1) and Socket.io (v2.3.0).

Here is my server.js

`const express = require(‘express’);

const app = express();

const server = require(‘http’).createServer(app);

Источник

(@stalker_slx)

Estimable Member

Присоединился: 4 года назад

Журнал проверки системы

2020-Apr-14 17:12:19 Наличие необходимых модулей php (check_php_modules): Ok

Все необходимые модули установлены

2020-Apr-14 17:12:19 Обязательные параметры PHP (check_php_settings): Fail

Ошибка! Вы используете веб-окружение 1С-Битрикс старой версии (7.3.3), установите актуальную версию, чтобы не было проблем с настройкой сервера (7.4.3

).

2020-Apr-14 17:12:19 Модули веб-сервера (check_security): Ok

Конфликтов не выявлено

2020-Apr-14 17:12:19 Значения переменных сервера (check_server_vars): Ok

Корректные

2020-Apr-14 17:12:19 Сохранение сессии (check_session): Ok

50% done

2020-Apr-14 17:12:19 Сохранение сессии (check_session): Ok

Успешно

2020-Apr-14 17:12:19 Параметры настройки UTF (mbstring и константа BX_UTF) (check_mbstring): Ok

Правильные. Сайт работает в UTF кодировке

2020-Apr-14 17:12:19 Служебные скрипты в корне сайта (check_install_scripts): Ok

Отсутствуют

2020-Apr-14 17:12:19 Работа с сокетами (check_socket): Fail

Connection to ssl://bitrix24.mycompany.com:443       Fail

Socket error [0]:

Ошибка! Не работает

2020-Apr-14 17:12:20 Выполнение агентов на cron (check_bx_crontab): Ok

Успешно

2020-Apr-14 17:12:20 Бизнес-чат в реальном времени (check_pull_stream): Fail

Server version: 3 (Bitrix Push server)

Connection to ssl://bitrix24.mycompany.com:443       Fail

Socket error [0]:

Ошибка! Не удалось подключиться к модулю nginx-push-stream чтения мгновенных сообщений

2020-Apr-14 17:12:20 Живые комментарии в ленте сообщений (check_pull_comments): Fail

Ошибка! Не настроен модуль nginx push-stream, который необходим для отображения комментариев в живой ленте в реальном режиме времени

2020-Apr-14 17:12:20 Видеозвонки (check_turn): Fail

Ошибка! Не настроен модуль nginx push-stream, который необходим для осуществления видеозвонков

2020-Apr-14 17:12:20 Мобильное приложение Битрикс24 (check_access_mobile): Ok

Connection to checker.internal.bitrix24.com:80       Success

== Request ==

GET /check/?license_hash=ee054a156a095bf850f0e0539a11dc45&host=bitrix24.mycompany.com&port=443&https=Y HTTP/1.1

host: checker.internal.bitrix24.com

== Response ==

HTTP/1.1 200 OK

Content-Type: text/plain

Date: Tue, 14 Apr 2020 14:12:20 GMT

Server: nginx/1.8.1

X-Powered-By: PHP/5.3.3

Content-Length: 46

Connection: keep-alive

== Body ==

Check: OK

Status: 200

Connection: keep-alive

==========

Connection to checker.internal.bitrix24.com:80       Success

== Request ==

GET /check/?license_hash=ee054a156a095bf850f0e0539a11dc45&host=bitrix24.mycompany.com&port=8894&https=Y HTTP/1.1

host: checker.internal.bitrix24.com

== Response ==

HTTP/1.1 200 OK

Content-Type: text/plain

Date: Tue, 14 Apr 2020 14:12:20 GMT

Server: nginx/1.8.1

X-Powered-By: PHP/5.3.3

Content-Length: 46

Connection: keep-alive

== Body ==

Check: OK

Status: 403

Connection: keep-alive

==========

Успешно

2020-Apr-14 17:12:21 Уведомления пользователям на мобильные устройства (push уведомления) (check_push_bitrix): Ok

Connection to ssl://cloud-messaging.bitrix24.com:443 Success

Успешно

2020-Apr-14 17:12:21 Работа с документами через Google Docs и MS Office Online (check_access_docs): Ok

Успешно

2020-Apr-14 17:12:21 Битрикс24.Диск. Быстрая работа с файлами (check_fast_download): Warning

Замечание. Не удалось проверить из-за ошибки в работе с сокетами

2020-Apr-14 17:12:21 Поиск по содержимому документов (check_search): Ok

Успешно

2020-Apr-14 17:12:21 Отправка почтовых уведомлений (check_mail): Ok

Успешно

2020-Apr-14 17:12:22 Доступ к облачным сервисам 1С-Битрикс (check_ca_file): Ok

Успешно

2020-Apr-14 17:12:22 Интеграция с почтой внутри компании (check_connect_mail): Ok

Успешно

2020-Apr-14 17:12:22 Интеграция с соцсетями (check_socnet): Ok

Успешно

2020-Apr-14 17:12:22 Работа с REST API (check_rest): Ok

Успешно

2020-Apr-14 17:12:22 Публикация сообщений в живую ленту из почты (check_mail_push): Warning

Замечание. Не удалось получить MX запись для домена bitrix24.mycompany.com

2020-Apr-14 17:12:22 Доступ снаружи к Экстранет (check_extranet): Ok

Успешно

2020-Apr-14 17:12:22 Редактирование документов в MS Office (check_webdav): Warning

Замечание. Не удалось проверить из-за ошибки в работе с сокетами

2020-Apr-14 17:12:22 Интеграция с внешними приложениями (MS Office, Outlook, Exchange) через безопасное подключение к порталу (check_socket_ssl): Warning

Connection to ssl://bitrix24.mycompany.com:443 (certificate check enabled)  Fail

Connection to ssl://bitrix24.mycompany.com:443       Success

Замечание. Сервер имеет невалидный SSL сертификат, возможны проблемы в интеграции с внешними приложениями

2020-Apr-14 17:12:22 Интеграция с Active Directory (check_ad): Warning

Замечание. Интеграция с AD сервером не настроена

2020-Apr-14 17:12:22 Единая авторизация в Windows сети (NTLM) (check_ntlm): Warning

Замечание. Выключена опция использования NTLM авторизации в настройках модуля ldap

2020-Apr-14 17:12:22 Оценка производительности сервера (check_perf): Warning

Замечание. Не удалось проверить из-за ошибки в работе с сокетами

2020-Apr-14 17:12:22 Ускорение открытия страниц (check_compression): Warning

Замечание. Не удалось проверить из-за ошибки в работе с сокетами

Доброго времени суток уважаемые форумчане!
1.1. Достался мне сайт на движке «bitrix» на CentOS 7.
1.2. При его проверке встроенными средствами движка через админ-панель (веб-браузер) вылазит куча ошибок (см. «screen1.png» во вложении).

1.3. При нажатии на знак «?» (который находится в строке с названием ошибки) получаем подсказку со следующим содержимым (см. «screen2.png» во вложении):
«Результат теста: Ошибка! Не работает

Осуществляется сетевое подключение с веб-сервера к самому себе. Это необходимо чтобы проверить работу сетевых функций, а также требуется для ряда последующих тестов.

А значит, если этот базовый тест не отработал, то дальнейшие тесты, где требуется создание независимого php процесса, не могут быть произведены.

Обычно проблема возникает, если подключение запрещено фаерволом, доступ к административной части запрещен по IP или для входа на сайт требуется HTTP/NTLM авторизация. На этапе тестирования необходимо отключить эти ограничения.

Подробности в журнале проверки системы.»

Но описанная рекомендация для моего случая не помогла решить проблему.

Поэтому я решил пойти иным путём.

2.1. Взял тестовую машину и накатил туда чистый CentOS 7.
2.2. Установил битрикс-окружение с помощью родного скрипта, скачанного с сайта разработчиков.
2.3. Установил демо-сайт для пробы.
2.4. Прогнал этот демо-сайт на ошибки с помощью админ-панели (через веб-морду) средствами самого движка. В результате — никаких ошибок не выявлено!
2.5. После этого забекапил «старыми дедовскими» методами «глючный сайт»: «mysqldump + tar»
2.6. Перенес этот бекап на свежеустановленный демо-сайт и развернул (импортировал базу, распаковал содержимое архива в правильную папку и проверил корректность прав на файлы и папки).
2.7. Снова прогнал сайт на ошибки через веб-админку — ВСЕ ошибки остались от старого сайта

2.8. При этом всем, конфиги в консоли сервера не правил!

Ситуация вообще странная… Прошу Вас помочь разобраться в этом вопросе.


Также добавлю сюда журнал проверки системы:

2020-Apr-14 17:12:19 Наличие необходимых модулей php (check_php_modules): Ok
Все необходимые модули установлены
2020-Apr-14 17:12:19 Обязательные параметры PHP (check_php_settings): Fail
Ошибка! Вы используете веб-окружение 1С-Битрикс старой версии (7.3.3), установите актуальную версию, чтобы не было проблем с настройкой сервера (7.4.3
).
2020-Apr-14 17:12:19 Модули веб-сервера (check_security): Ok
Конфликтов не выявлено
2020-Apr-14 17:12:19 Значения переменных сервера (check_server_vars): Ok
Корректные
2020-Apr-14 17:12:19 Сохранение сессии (check_session): Ok
50% done
2020-Apr-14 17:12:19 Сохранение сессии (check_session): Ok
Успешно
2020-Apr-14 17:12:19 Параметры настройки UTF (mbstring и константа BX_UTF) (check_mbstring): Ok
Правильные. Сайт работает в UTF кодировке
2020-Apr-14 17:12:19 Служебные скрипты в корне сайта (check_install_scripts): Ok
Отсутствуют
2020-Apr-14 17:12:19 Работа с сокетами (check_socket): Fail
Connection to ssl://bitrix24.mycompany.com:443 Fail
Socket error

  • :

Ошибка! Не работает
2020-Apr-14 17:12:20 Выполнение агентов на cron (check_bx_crontab): Ok
Успешно
2020-Apr-14 17:12:20 Бизнес-чат в реальном времени (check_pull_stream): Fail
Server version: 3 (Bitrix Push server)
Connection to ssl://bitrix24.mycompany.com:443 Fail
Socket error

  • :

Ошибка! Не удалось подключиться к модулю nginx-push-stream чтения мгновенных сообщений
2020-Apr-14 17:12:20 Живые комментарии в ленте сообщений (check_pull_comments): Fail
Ошибка! Не настроен модуль nginx push-stream, который необходим для отображения комментариев в живой ленте в реальном режиме времени
2020-Apr-14 17:12:20 Видеозвонки (check_turn): Fail
Ошибка! Не настроен модуль nginx push-stream, который необходим для осуществления видеозвонков
2020-Apr-14 17:12:20 Мобильное приложение Битрикс24 (check_access_mobile): Ok
Connection to checker.internal.bitrix24.com:80 Success
== Request ==
GET /check/?license_hash=ee054a156a095bf850f0e0539a11dc45&host=bitrix24.mycompany.com&port=443&https=Y HTTP/1.1
host: checker.internal.bitrix24.com

== Response ==
HTTP/1.1 200 OK
Content-Type: text/plain
Date: Tue, 14 Apr 2020 14:12:20 GMT
Server: nginx/1.8.1
X-Powered-By: PHP/5.3.3
Content-Length: 46
Connection: keep-alive

== Body ==
Check: OK
Status: 200
Connection: keep-alive

==========
Connection to checker.internal.bitrix24.com:80 Success
== Request ==
GET /check/?license_hash=ee054a156a095bf850f0e0539a11dc45&host=bitrix24.mycompany.com&port=8894&https=Y HTTP/1.1
host: checker.internal.bitrix24.com

== Response ==
HTTP/1.1 200 OK
Content-Type: text/plain
Date: Tue, 14 Apr 2020 14:12:20 GMT
Server: nginx/1.8.1
X-Powered-By: PHP/5.3.3
Content-Length: 46
Connection: keep-alive

== Body ==
Check: OK
Status: 403
Connection: keep-alive

==========

Успешно
2020-Apr-14 17:12:21 Уведомления пользователям на мобильные устройства (push уведомления) (check_push_bitrix): Ok
Connection to ssl://cloud-messaging.bitrix24.com:443 Success

Успешно
2020-Apr-14 17:12:21 Работа с документами через Google Docs и MS Office Online (check_access_docs): Ok
Успешно
2020-Apr-14 17:12:21 Битрикс24.Диск. Быстрая работа с файлами (check_fast_download): Warning
Замечание. Не удалось проверить из-за ошибки в работе с сокетами
2020-Apr-14 17:12:21 Поиск по содержимому документов (check_search): Ok
Успешно
2020-Apr-14 17:12:21 Отправка почтовых уведомлений (check_mail): Ok
Успешно
2020-Apr-14 17:12:22 Доступ к облачным сервисам 1С-Битрикс (check_ca_file): Ok
Успешно
2020-Apr-14 17:12:22 Интеграция с почтой внутри компании (check_connect_mail): Ok
Успешно
2020-Apr-14 17:12:22 Интеграция с соцсетями (check_socnet): Ok
Успешно
2020-Apr-14 17:12:22 Работа с REST API (check_rest): Ok
Успешно
2020-Apr-14 17:12:22 Публикация сообщений в живую ленту из почты (check_mail_push): Warning
Замечание. Не удалось получить MX запись для домена bitrix24.mycompany.com
2020-Apr-14 17:12:22 Доступ снаружи к Экстранет (check_extranet): Ok
Успешно
2020-Apr-14 17:12:22 Редактирование документов в MS Office (check_webdav): Warning
Замечание. Не удалось проверить из-за ошибки в работе с сокетами
2020-Apr-14 17:12:22 Интеграция с внешними приложениями (MS Office, Outlook, Exchange) через безопасное подключение к порталу (check_socket_ssl): Warning
Connection to ssl://bitrix24.mycompany.com:443 (certificate check enabled) Fail
Connection to ssl://bitrix24.mycompany.com:443 Success

Замечание. Сервер имеет невалидный SSL сертификат, возможны проблемы в интеграции с внешними приложениями
2020-Apr-14 17:12:22 Интеграция с Active Directory (check_ad): Warning
Замечание. Интеграция с AD сервером не настроена
2020-Apr-14 17:12:22 Единая авторизация в Windows сети (NTLM) (check_ntlm): Warning
Замечание. Выключена опция использования NTLM авторизации в настройках модуля ldap
2020-Apr-14 17:12:22 Оценка производительности сервера (check_perf): Warning
Замечание. Не удалось проверить из-за ошибки в работе с сокетами
2020-Apr-14 17:12:22 Ускорение открытия страниц (check_compression): Warning
Замечание. Не удалось проверить из-за ошибки в работе с сокетами


Пропишите доменное имя в /etc/hosts


  • Записки IT специалиста — Форум

  • Сайтостроение

  • Веб-сервера

  • Bitrix – ошибки в работе с сокетами

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and
privacy statement. We’ll occasionally send you account related emails.

Already on GitHub?
Sign in
to your account

Comments

@ashwintastic

Hi I have installed nginx-push-stream-module version 1.8.0 I have pasted the following code in /etc/nginx/nginx.conf

       location /channels-stats {
   
           push_stream_channels_statistics;

   
              push_stream_channels_path               $arg_id;
      }

     location /pub {
    
              push_stream_publisher admin;

              push_stream_channels_path               $arg_id;
     }

      location ~ /sub/(.*) {
   
               push_stream_subscriber      long-polling;
 
               push_stream_channels_path         $1;

              push_stream_message_template                "                     {"id":~id~,"channel":"~channel~","text":"~text~"}";

    
              push_stream_longpolling_connection_ttl        30s;
        }

but getting this error nginx: [emerg] unknown directive "push_stream_channels_statistics" in /etc/nginx/nginx.conf:240

where I’m doing wrong !!

@wandenberg

Do you mind to paste the nginx -V output and describe how you installed the module?

@ashwintastic

ThnQ for quick response nginx -V gives this

I have followed thses steps:

https://github.com/wandenberg/nginx-push-stream-module#installation-

       nginx version: nginx/1.10.0 (Ubuntu)
       built with OpenSSL 1.0.2g  1 Mar 2016
       TLS SNI support enabled
       configure arguments: --with-cc-opt='-g -O2 -fPIE -fstack-protector-strong -Wformat - Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2' --with-ld-opt='-Wl,-Bsymbolic-functions -fPIE -pie -Wl,-z,relro -Wl,-z,now' --prefix=/usr/share/nginx --conf-path=/etc/nginx/nginx.conf --http-log-path=/var/log/nginx/access.log --error-log-path=/var/log/nginx/error.log --lock-path=/var/lock/nginx.lock --pid-path=/run/nginx.pid --http-client-body-temp-path=/var/lib/nginx/body --http-fastcgi-temp-path=/var/lib/nginx/fastcgi --http-proxy-temp-path=/var/lib/nginx/proxy --http-scgi-temp-path=/var/lib/nginx/scgi --http-uwsgi-temp-path=/var/lib/nginx/uwsgi --with-debug --with-pcre-jit --with-ipv6 --with-http_ssl_module --with-http_stub_status_module --with-http_realip_module --with-http_auth_request_module --with-http_addition_module --with-http_dav_module --with-http_geoip_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_image_filter_module --with-http_v2_module --with-http_sub_module --with-http_xslt_module --with- stream --with-stream_ssl_module --with-mail --with-mail_ssl_module --with-threads

@wandenberg

@hiteshsomani you probably missed to use --add-module=../nginx-push-stream-module on your configure command. There is no reference to pushstream module on nginx -V output.
If you are trying to use the dynamic version, please take a look on how to build it on Nginx documentation. If not, add the command above to your configuration and repeat the compile and install steps again.

@ashwintastic

@wandenberg I have used --add-module=../nginx-push-stream-module but still getiing the same issue.. I need to confirm where I have to configure the http context ? now I have done at /etc/nginx/nginx.conf

@wandenberg

Please, share the full command you are using, and your folder structure, and also your nginx.conf.

@ashwintastic

command that i’m using : sudo nginx to start server

getting this error nginx: [emerg] unknown directive "push_stream_channels_statistics" in /etc/nginx/nginx.conf

nginx.cong

   server{
 

  location /channels-stats {
   
    push_stream_channels_statistics;

   
    push_stream_channels_path               $arg_id;
}

location /pub {
    
    push_stream_publisher admin;

    
    push_stream_channels_path               $arg_id;
}

location ~ /sub/(.*) {
   
    push_stream_subscriber      long-polling;

   
    push_stream_channels_path         $1;

    
    push_stream_message_template                "{"id":~id~,"channel":"~channel~","text":"~text~"}";

    
    push_stream_longpolling_connection_ttl        30s;
}

}

@wandenberg

Not the command to start the server. The command to configure, build and install the nginx.
Probably you made a mistake on it, or forgot to recompile and reinstall after add the —add-module

@ashwintastic

command I used : I used exactly these steps to install installation

for configuration I added this code configuration in /etc/nginx/nginx.conf:

@wandenberg

So, for sure you skip some step because on the output of you nginx -V does not contain the word ‘push’ for example and it must be there if you 1) configure the module with —add-module … 2) recompile the nginx with make and 3) reinstalled it with sudo make install

@ashwintastic

Cool Its working but not able to do this curl -s -v --no-buffer 'http://localhost/sub/my_channel_1'

    Trying 127.0.0.1...
    *  connect to 127.0.0.1 port 80 failed: Connection refused
    * Failed to connect to localhost port 80: Connection refused
    * Closing connection 0

any idea !!

I think server is not yet started but I have run this command sudo /usr/local/nginx/sbin/nginx -c $NGINX_PUSH_STREAM_MODULE_PATH/misc/nginx.conf

@wandenberg

what shows on logs and stdout when you executed sudo /usr/local/nginx/sbin/nginx -c $NGINX_PUSH_STREAM_MODULE_PATH/misc/nginx.conf?
(just to remember this misc/nginx.conf must not be used for other purposes than testing.)

@ashwintastic

@wandenberg

I suggest you to uninstall everything and starts over, step by step. :)

@ashwintastic

after reinstalling getting this

nginx: [emerg] invalid event type "poll" in /home/ashwinik/pusher/nginx-push-stream- module/misc/nginx.conf:19

to fix the above I made a change
nginx: configuration file /home/ashwinik/pusher/nginx-push-stream-module/misc/nginx.conf test failed

@wandenberg

replace poll with epoll if you are on linux and with kqueue if on MacOS

@ashwintastic

@ashwintastic

after this command sudo /usr/local/nginx/sbin/nginx -c $NGINX_PUSH_STREAM_MODULE_PATH/misc/nginx.conf when I hit localhost for channel subcription

curl -s -v --no-buffer 'http://localhost/sub/my_channel_1' nothing is logging

@ashwintastic

Infact curl -I http://localhost/ gives this curl: (7) Failed to connect to localhost port 80: Connection refused which means server is not yet started … but I run this command sudo /usr/local/nginx/sbin/nginx -c $NGINX_PUSH_STREAM_MODULE_PATH/misc/nginx.conf

@wandenberg

the request to /sub location is only logged when it finish. It is a stream connection.
Also, if you are using the misc/nginx.conf without changing the listen line the nginx is listening on 9080 port, not 80.

@wandenberg

@hiteshsomani I created a Vagrantfile for you.
Just execute a vagrant up and after that you will be able to execute curl --raw localhost:9080/sub/ch1 in one terminal and curl localhost:9080/pub?id=ch1 -d ABC in another.

remamber to rename the file from Vagrantfile.txt to Vagrantfile
Vagrantfile.txt

@ashwintastic

2 participants

@wandenberg

@ashwintastic

При установке виртуальной машины Битрикс в качестве Push-and-Pull сервера по умолчанию используется модуль Nginx под названием Nginx-PushStreamModule. Этот подход считается устаревшим, поэтому в консоли Bitrix env есть возможность заменить его на NodeJS RTC service. Казалось бы нет ничего проще выбрать в консоли пункт 10 (Configure Push/RTC service), затем пункт 1 (Install/Update NodeJS RTC Service), дождаться выполнения фонового задания и начать пользоваться современным инструментом. Но к сожалению в некоторых случаях все проходит не так гладко. Когда я стал проводить описанные действия – выполнение команд завершилось ошибкой, а я получил неработающий портал клиента. Версия виртуальной машины, где произошла эта ошибка была 7.0.3.

Ошибка при настройке push and pull сервера

Причем «откатить» изменения через консоль не удалось, так как NodeJS RTC service не установился. Оказалось, что ключевая причина в том, что перестал запускаться Nginx. При попытке его запустить выдавалась следующая ошибка: nginx: [emerg] host not found in upstream “server1:8010”.

Nginx ошибка при запуске

Первым делом я, конечно, написал обращение в техподдержку Битрикса, в то же время стал искать решение проблемы самостоятельно. Потому что ответ приходится ждать довольно долго, а «оживить» портал хотелось побыстрее.

Поиск решения занял несколько часов, причем мне в первую очередь нужно было вернуть «все как было», а не искать причину ошибки.

Сначала я открыл главный файл конфигурации nginx (/etc/nginx/ nginx.conf). Дата его изменения была давнишняя, поэтому я решил, что причина неисправности не в нем. В этом файле есть подключение других конфигурационных файлов из папок /etc/nginx/bx/conf/, /etc/nginx/bx/settings/, а также /etc/nginx/bx/site_enabled/.

Зайдя в эти папки, я обнаружил, что в них есть файлы со «свежей» датой создания. Открыв параллельно соответствующие папки другой ВМ, где NodeJS RTC service не установлен, я обнаружил, что таких файлов там нет. Значит их можно и нужно удалить.

Сначала удаляем следующие файлы:

  • /etc/nginx/bx/settings/rtc-im_settings.conf
  • /etc/nginx/bx/site_enabled/rtc-server.conf

Далее удаляем файл:

  • /etc/nginx/bx/conf/rtc-im_subscrider.conf

НО на него в этой папке есть символическая ссылка. Ее тоже нужно удалить и создать снова, но указывать она должна уже на другой файл: push-im_subscrider.conf

Делается это командой

# ln –s /etc/nginx/bx/conf/im_subscrider.conf /etc/nginx/bx/conf/push-im_subscrider.conf

После выполнения этих действий, снова пытаемся запустить Nginx.

# service nginx restart или

# systemctl restart nginx.service

В моем случае он запустился без проблем и портал снова заработал.

Кстати, техподдержка Битрикса посоветовала переустановить виртуальную машину полностью, что меня совсем не устраивало.

Затем я обновил BitrixEnv до 7.3.4 и попробовал выполнить установку NodeJS RTC service снова. Обновление не помогло. Ситуация повторилась снова. Пришлось повторить все описанные выше действия еще раз.

Надеюсь, что когда вы будете читать эту статью, подобных проблем при настройке Push-and-Pull сервера в виртуальной машине Битрикс возникать не будет.

Понравилась статья? Поделить с друзьями:
  • Ошибка невозможно установить безопасное https соединение невозможно проверить сертификат 31
  • Ошибка не удалось найти ip адрес сервера
  • Ошибка не удалось подключиться к миру майнкрафт
  • Ошибка не удалось инициализировать ядро
  • Ошибка не удалось подключиться к базе данных текст ошибки could not connect to mysql server