1С-Битрикс

Ошибка работы с сокетами в 1С-Битрикс: причины и способы исправления

Ошибка работы с сокетами в 1С-Битрикс: причины (SSL, сертификаты) и полное решение. Инструкция для BitrixVM, Ubuntu, виртуального хостинга. Как настроить, чтобы обработчик работал

sqlka.ruОпубликовано: Чтение: 4 мин.
Ошибка работы с сокетами в 1С-Битрикс: причины и способы исправления

При выполнении штатной проверки системы в административной панели 1С-Битрикс, а также при работе модулей, обращающихся к внешним API (например, обмен с 1С, платежные системы, обновления), вы можете столкнуться с ошибкой:

«Работа с сокетами — Функция работает неправильно, требуется устранить ошибки» или просто «Socket error».

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

Почему возникает ошибка работы с сокетами?

Битрикс использует сокеты для множества задач: проверка обновлений, подключение к маркетплейсу, отправка HTTP-запросов к сторонним сервисам. Основные причины сбоя:

  • Устаревшие корневые сертификаты (CA) — сервер не доверяет SSL-сертификатам внешних сайтов.
  • Проблемы с OpenSSL — неактуальная версия или отсутствие библиотеки.
  • Ограничения на функции сокетов в PHP — отключены allow_url_fopen или openssl.
  • Блокировка брандмауэром — исходящие соединения на определённые порты (443, 80) запрещены.
  • Некорректные DNS-настройки — сервер не может разрешить имена внешних хостов.

Диагностика проблемы

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

1. Проверка через командную строку

Подключитесь к серверу по SSH и выполните:

curl -I https://marketplace.1c-bitrix.ru

Если команда возвращает ошибку сертификата (например, "curl: (60) SSL certificate problem"), значит проблема в сертификатах. Если соединение зависает или отклоняется — возможно, блокируется брандмауэром.

2. Проверка OpenSSL

openssl s_client -connect marketplace.1c-bitrix.ru:443

Убедитесь, что соединение устанавливается и сертификаты валидны.

3. Проверка PHP

Создайте файл info.php с содержимым <?php phpinfo(); ?> и откройте его в браузере. Найдите разделы openssl и allow_url_fopen — они должны быть включены.

Как исправить ошибку сокетов

Выберите подходящий вариант в зависимости от типа вашего хостинга.

Для серверов на BitrixVM (CentOS)

На виртуальной машине BitrixVM достаточно выполнить в консоли три команды, которые обновят системные пакеты и корневые сертификаты:

yum update -y
yum install ca-certificates -y
update-ca-trust force-enable
update-ca-trust extract

Пояснение:

  • yum update — обновляет все пакеты, включая OpenSSL и ca-certificates.
  • yum install ca-certificates — гарантирует установку последней версии пакета с корневыми сертификатами.
  • update-ca-trust — применяет новые сертификаты в системе.

После выполнения команд перезапустите веб-сервер: systemctl restart httpd (или nginx/apache2).

Для Ubuntu/Debian

apt update
apt install ca-certificates -y
update-ca-certificates --fresh
systemctl restart apache2  # или nginx, если используется

Для виртуального хостинга

Если вы пользуетесь обычным виртуальным хостингом, у вас нет доступа к консоли сервера. В этом случае:

  1. Обратитесь в техническую поддержку хостинг-провайдера с сообщением об ошибке «Работа с сокетами» в Битрикс. Попросите обновить корневые сертификаты на сервере и проверить доступность исходящих соединений.
  2. Самостоятельно проверьте настройки PHP через панель управления хостинга: убедитесь, что функции fsockopen, curl, openssl не заблокированы.
  3. В некоторых случаях помогает смена тарифного плана на более высокий (с выделенными ресурсами), где административные возможности шире.

Дополнительные настройки PHP

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

allow_url_fopen = On
extension=openssl
extension=curl

Если вы не имеете доступа к php.ini, создайте в корне сайта файл .user.ini с нужными директивами (на большинстве хостингов это работает).

Проверка брандмауэра и DNS

Убедитесь, что сервер может отправлять запросы во внешний мир:

ping marketplace.1c-bitrix.ru
telnet marketplace.1c-bitrix.ru 443

Если ping не проходит, проверьте DNS-сервера (/etc/resolv.conf). Если telnet не соединяется, возможно, исходящие запросы блокируются на уровне хостинга — обратитесь в поддержку.

Что делать, если ошибка осталась?

Если после всех действий ошибка сохраняется, проверьте следующее:

  • Обновите версию PHP до 8.0 или выше (Битрикс требует актуальную версию для корректной работы сокетов).
  • Временно отключите firewall для теста: systemctl stop firewalld (на CentOS) или ufw disable (на Ubuntu). Если проблема исчезнет, настраивайте правила заново.
  • Проверьте наличие ошибок в логах веб-сервера (/var/log/apache2/error.log или аналогичный).

Профилактика

Чтобы ошибка сокетов не появлялась вновь:

  • Регулярно обновляйте систему и пакеты (yum update / apt upgrade).
  • Включите автоматическое обновление корневых сертификатов (через cron).
  • Следите за актуальностью версии PHP и используемых расширений.

Заключение

Ошибка работы с сокетами в Битрикс — одна из частых проблем, связанных с серверным окружением. Чаще всего она решается простым обновлением сертификатов и перезапуском веб-сервера. Если вы используете виртуальный хостинг, правильным шагом будет обращение в

Хотите освоить SQL для работы с данными?

В SQLka можно изучать SQL последовательно или готовиться к собеседованиям. Запросы выполняются прямо в браузере — устанавливать базу данных не нужно.

sqlka.ru

support@sqlka.ru

Дальше по теме

1С-Битрикс

Логирование в 1С-Битрикс: полное руководство для разработчика

Полное руководство по логированию в 1С-Битрикс: какие логгеры есть, как их настроить, форматировать сообщения и подключать к своим классам. Примеры кода и советы по использованию PSR-3

sqlka.ruЧтение: 4 мин.
← Все статьи