Работа модуля Push and Pull Битрикса на виртуальной машине до версии 5.0.
|
---|
На серверной стороне поддержка мгновенных сообщений осуществляется модулем NGINX: nginx-push-stream-module. Данный модуль обеспечивает поддержку long-polling соединений с клиентами и доставку опубликованных им сообщений. Примечание: Bitrix Framework и без модуля nginx-push-stream-module обеспечивает достаточно высокую скорость передачи сообщений: 60 секунд интервал, при наличии сообщений интервал между соединениями уменьшается до 10 секунд.
При открытии страницы клиент ajax-запросом, подключается к своему каналу на одном из портов NGINX: 8893 (http) или 8894 (https). (В случае использования виртуальной машины BitrixVM. При использовании собственной конфигурации сервера администратор волен использовать любые удобные ему порты.) С данного порта NGINX перенаправляет пользователя на внутренний сервер очередей (доступный только по 127.0.0.1:8895), где проверятся наличие канала пользователя и новых сообщений. В случае если в канале нет сообщений, сервер не отдает ответ, а держит соединение в течение 40 сек. Если в течение этого времени в канал пользователя придет новое сообщение, то сервер отправит его клиенту и закроет соединение. В случае если в канал пользователя не будет новых сообщений в течение 40 секунд, то сервер разорвет соединение и отправит ему заголовок: 304 Not Modified. После получения ответа сервера и закрытия соединения клиент выполнит повторное подключение к каналу с новой датой последнего изменения. Сообщения в канал пользователя публикуются посредством вызова соответствующих методов API модуля Push and Pull. Для работы с мгновенными сообщениями рекомендуем использовать протокол https. Примечание: Большое значение имеет правильная синхронизация времени сервера с глобальными серверами.
Настройка модуляПри использовании продуктов Bitrix Framework на базе виртуальной машины BitrixVM с v. 5.0 необходимости в настройке модуля нет: всё работает "из коробки". Если проект используется не на штатных средствах установки Bitrix Framework, то необходимо произвести дополнительные настройки. Примечание: Приведённые ниже образцы настроек даны для примера. Настройку под конкретный проект, при отказе от использования рекомендуемых BitrixVM или BitrixEnvironment, администратор должен произвести самостоятельно.
Внимание! Работа модуля Push and Pull поддерживается только до версии 0.5 nginx-push-stream-module. Более свежие версии не поддерживаются, так как для работы Push and Pull разрабатывается специальное решение от "1С-Битрикс".
|
то ждем ваше обращение в нашей службе тех поддержки.
Администратор сервиса Битрикс24 (коробочная версия)
Настройка Push and Pull |
Если ваш Битрикс установлен на виртуальной машине
BitrixVM версии 7.1 или старше
Виртуальная машина сэкономит время и силы на правильное развертывание и администрирование сайта или внутреннего информационного ресурса на базе продуктов «1С-Битрикс».
Подробнее ...
, то у вас нет необходимости настраивать модуль Push and Pull. В виртуальной машине уже поставляется отдельный Push-сервер, он настроен и сконфигурирован и работает "из коробки".
Если, всё же необходимо произвести некоторые изменения, то это делается на странице Настройки > Настройки продукта > Настройки модулей > Push and Pull:
- Укажите секретный код для подписи сообщения. Это 32-х значный произвольный код, который указывается в настройках пуш-сервера:
./push-server/config/config.json: "security": { "key":
Примечание: В виртуальной машине BitrixVM «1C-Битрикс: Виртуальная машина» - бесплатный программный продукт, готовый к немедленному использованию виртуальный сервер, полностью настроенный, протестированный и адаптированный для оптимальной работы как с продуктами «1С-Битрикс», так и с любыми PHP-приложениями. Имеется в версии для Windows и для Unix систем.
Подробнее... это поле создается автоматически при первом старте службы или при настройке/обновлении и прописывается в настройки сайта. - При необходимости перенастройте шаблоны путей. Домен в адресе для чтения сообщений можно указать
#DOMAIN#
: такая нотация будет автоматически заменяться под нужный домен для многодоменных конфигураций. Пример: http://#DOMAIN#:8893/bitrix/sub/. - Если в системе несколько активных сайтов, то есть возможность выбрать, на каких сайтах модуль не будет работать.
Настройка nginx-push-stream-module в версии 0.4.0 (рекомендуется к использованию)
|
---|
|
Настройка nginx-push-stream-module в версии 0.3.4
|
---|
Также необходимо выбрать версию используемой вами машины. Рекомендуется использовать Виртуальную машину в версии 4.4 и выше, так как в ней используется более совершенная версия модуля nginx-push-stream-module 0.4.0, позволяющая использовать технологию Веб-сокетов и отправление команд. Внимание! Если у вас появляется ошибка вида:
XMLHttpRequest cannot load http://example.com:8893/bitrix/sub/?CHANNEL_ID=<уникальный_адрес_канала>&tag=1&rnd=1380619831146. Origin http://example.com is not allowed by Access-Control-Allow-Origin.значит, вы используете версию модуля nginx push stream module до 0.3.4. Необходимо либо обновить версию модуля, либо закомментировать строки: add_header "Access-Control-Allow-Origin" "*"; add_header "Access-Control-Allow-Headers" "if-modified-since, origin, if-none-match"; |
Как использовать модуль, подробно рассказано в курсе Разработчик Bitrix Framework в главе
Push and Pull
Модуль Push & Pull работает в двух режимах:
постоянное подключение к специальному серверу Сервер очередей;
в режиме опроса сервера (60-20-10).
Подробнее ...
.
Документация по теме: |
- Настройки модуля (документация)
- Зачем настраивать модуль Push&Pull (блог)
- Работа с модулем для разработчиков
- API модуля
- Push-уведомления в курсе «BitrixMobile - создание кроссплатформенных мобильных приложений»
назадКак работает Push-сервер Наверх ↑ Настройка и запуск push сервера на стороннем окружении вперед