Настройка Bitrix Push & Pull сервера

Наша компания занимается разработкой, поддержкой и обслуживанием решений на Битрикс и Битрикс24 любой сложности. От простых одностраничных сайтов до сложных интернет магазинов, CRM систем с интеграцией 1С и телефонии. Опыт разработчиков подтвержден сертификатами от вендора.
Предлагаемые услуги
Показано 1 из 1 услугВсе 1626 услуг
Настройка Bitrix Push & Pull сервера
Простая
~1 рабочий день
Часто задаваемые вопросы
Наши компетенции:
Этапы разработки
Последние работы
  • image_website-b2b-advance_0.png
    Разработка сайта компании B2B ADVANCE
    1177
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Разработка веб-сайта для компании ФИКСПЕР
    811
  • image_bitrix-bitrix-24-1c_development_of_an_online_appointment_booking_widget_for_a_medical_center_594_0.webp
    Разработка на базе Битрикс, Битрикс24, 1С для компании Development of an Online Appointment Booking Widget for a Medical Center
    564
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Разработка на базе 1С Предприятие для компании МИРСАНБЕЛ
    747
  • image_crm_dolbimby_434_0.webp
    Разработка сайта на CRM Битрикс24 для компании DOLBIMBY
    655
  • image_crm_technotorgcomplex_453_0.webp
    Разработка на базе Битрикс24 для компании ТЕХНОТОРГКОМПЛЕКС
    976

Настройка Bitrix Push & Pull сервера

Push & Pull — технология Битрикс для real-time уведомлений: новые сообщения в чате, обновления задач, уведомления о заказах. Работает через WebSocket или Long Polling. Без Push & Pull Битрикс24 на коробке и живые уведомления в интернет-магазине (смена статуса заказа) не работают.

Архитектура Push & Pull

Push-сервер — отдельный Node.js процесс, который держит WebSocket-соединения с браузерами пользователей. PHP-бэкенд отправляет сообщения на Push-сервер через HTTP, Push-сервер транслирует их подключённым клиентам.

Компоненты:

  • nodejs — выполняет Push-сервер
  • Модуль push.sender в Битрикс — PHP API для отправки сообщений
  • Модуль pull — клиентская часть, подписка браузера

Установка Node.js

# Через NodeSource (рекомендуется LTS)
curl -fsSL https://deb.nodesource.com/setup_20.x | bash -
apt-get install -y nodejs

# Проверить
node --version  # v20.x.x
npm --version

Установка Push-сервера Битрикс

Push-сервер распространяется через npm:

npm install -g bitrix-push-server

Или скачайте вручную с marketplace.1c-bitrix.ru — пакет bitrix.push-server.

Запуск:

bitrix-push-server --config /etc/bitrix/push-server.json

Пример конфига /etc/bitrix/push-server.json:

{
    "security": {
        "key": "SECRET_KEY_HERE"
    },
    "server": {
        "port": 8893,
        "hostname": "0.0.0.0"
    },
    "serverHTTPS": {
        "port": 8894,
        "hostname": "0.0.0.0",
        "key": "/etc/ssl/private/site.key",
        "cert": "/etc/ssl/certs/site.crt"
    },
    "log": {
        "level": "info",
        "file": "/var/log/bitrix-push-server.log"
    }
}

SECRET_KEY_HERE — любая длинная случайная строка. Этот же ключ прописывается в настройках модуля Push в Битрикс.

Настройка nginx для проксирования

Push-сервер слушает порт 8893 (HTTP) и 8894 (HTTPS). Nginx проксирует WebSocket-соединения:

location /bitrix/subws/ {
    proxy_pass http://127.0.0.1:8893/bitrix/subws/;
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "Upgrade";
    proxy_set_header Host $host;
    proxy_read_timeout 3600;
    proxy_send_timeout 3600;
}

location /bitrix/sub/ {
    proxy_pass http://127.0.0.1:8893/bitrix/sub/;
    proxy_http_version 1.1;
    proxy_set_header Host $host;
    proxy_read_timeout 3600;
}

location /bitrix/rest/ {
    proxy_pass http://127.0.0.1:8893/bitrix/rest/;
    proxy_set_header Host $host;
}

Настройка модуля в Битрикс

Настройки → Настройки продукта → Настройки модулей → Push и Pull:

  • Публичный путьhttps://yoursite.ru/bitrix/
  • Приватный путьhttp://127.0.0.1:8893/bitrix/ (для PHP-бэкенда)
  • Ключ подписи — тот же SECRET_KEY_HERE

После сохранения проверьте: зайдите в Битрикс24 на коробке или в раздел с уведомлениями — в DevTools → Network должны появиться WebSocket-соединения к /bitrix/subws/.

Автозапуск через systemd

# /etc/systemd/system/bitrix-push.service
[Unit]
Description=Bitrix Push Server
After=network.target

[Service]
Type=simple
User=www-data
ExecStart=/usr/bin/bitrix-push-server --config /etc/bitrix/push-server.json
Restart=always
RestartSec=5

[Install]
WantedBy=multi-user.target
systemctl enable bitrix-push
systemctl start bitrix-push
systemctl status bitrix-push