При выполнении штатной проверки системы в административной панели 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, если используется
Для виртуального хостинга
Если вы пользуетесь обычным виртуальным хостингом, у вас нет доступа к консоли сервера. В этом случае:
- Обратитесь в техническую поддержку хостинг-провайдера с сообщением об ошибке «Работа с сокетами» в Битрикс. Попросите обновить корневые сертификаты на сервере и проверить доступность исходящих соединений.
- Самостоятельно проверьте настройки PHP через панель управления хостинга: убедитесь, что функции
fsockopen, curl, openssl не заблокированы.
- В некоторых случаях помогает смена тарифного плана на более высокий (с выделенными ресурсами), где административные возможности шире.
Дополнительные настройки 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 и используемых расширений.
Заключение
Ошибка работы с сокетами в Битрикс — одна из частых проблем, связанных с серверным окружением. Чаще всего она решается простым обновлением сертификатов и перезапуском веб-сервера. Если вы используете виртуальный хостинг, правильным шагом будет обращение в
При выполнении штатной проверки системы в административной панели 1С-Битрикс, а также при работе модулей, обращающихся к внешним API (например, обмен с 1С, платежные системы, обновления), вы можете столкнуться с ошибкой:
Эта ошибка указывает на то, что сервер не может установить защищённое сетевое соединение с внешними ресурсами. В статье подробно разберём причины проблемы и дадим пошаговые инструкции для её устранения на разных типах хостинга.
Почему возникает ошибка работы с сокетами?
Битрикс использует сокеты для множества задач: проверка обновлений, подключение к маркетплейсу, отправка HTTP-запросов к сторонним сервисам. Основные причины сбоя:
allow_url_fopenилиopenssl.Диагностика проблемы
Прежде чем приступать к исправлению, выполните несколько проверок, чтобы точно определить источник ошибки.
1. Проверка через командную строку
Подключитесь к серверу по SSH и выполните:
Если команда возвращает ошибку сертификата (например, "curl: (60) SSL certificate problem"), значит проблема в сертификатах. Если соединение зависает или отклоняется — возможно, блокируется брандмауэром.
2. Проверка OpenSSL
Убедитесь, что соединение устанавливается и сертификаты валидны.
3. Проверка PHP
Создайте файл
info.phpс содержимым<?php phpinfo(); ?>и откройте его в браузере. Найдите разделы openssl и allow_url_fopen — они должны быть включены.Как исправить ошибку сокетов
Выберите подходящий вариант в зависимости от типа вашего хостинга.
Для серверов на BitrixVM (CentOS)
На виртуальной машине BitrixVM достаточно выполнить в консоли три команды, которые обновят системные пакеты и корневые сертификаты:
Пояснение:
yum update— обновляет все пакеты, включая OpenSSL и ca-certificates.yum install ca-certificates— гарантирует установку последней версии пакета с корневыми сертификатами.update-ca-trust— применяет новые сертификаты в системе.После выполнения команд перезапустите веб-сервер:
systemctl restart httpd(илиnginx/apache2).Для Ubuntu/Debian
Для виртуального хостинга
Если вы пользуетесь обычным виртуальным хостингом, у вас нет доступа к консоли сервера. В этом случае:
fsockopen,curl,opensslне заблокированы.Дополнительные настройки PHP
Иногда ошибка может быть вызвана отключёнными функциями. В файле
php.iniпроверьте параметры:Если вы не имеете доступа к
php.ini, создайте в корне сайта файл.user.iniс нужными директивами (на большинстве хостингов это работает).Проверка брандмауэра и DNS
Убедитесь, что сервер может отправлять запросы во внешний мир:
Если ping не проходит, проверьте DNS-сервера (
/etc/resolv.conf). Если telnet не соединяется, возможно, исходящие запросы блокируются на уровне хостинга — обратитесь в поддержку.Что делать, если ошибка осталась?
Если после всех действий ошибка сохраняется, проверьте следующее:
systemctl stop firewalld(на CentOS) илиufw disable(на Ubuntu). Если проблема исчезнет, настраивайте правила заново./var/log/apache2/error.logили аналогичный).Профилактика
Чтобы ошибка сокетов не появлялась вновь:
yum update/apt upgrade).Заключение
Ошибка работы с сокетами в Битрикс — одна из частых проблем, связанных с серверным окружением. Чаще всего она решается простым обновлением сертификатов и перезапуском веб-сервера. Если вы используете виртуальный хостинг, правильным шагом будет обращение в