Итак, многие сталкиваются с такой проблемой как ошибка сокетов при проверке сайта (а с 30 сентября 2021 так еще больше таких проблем, решение будет ниже):
Из-за этой ошибки сайт не может проверить все остальные параметры и вы видите очень много красных предупреждений: «Замечание. Не удалось проверить из-за ошибки в работе с сокетами». Она бывает при установке сайта на виртуальную машину Битрикс.
Что делать?
Первое что нужно сделать при запуске сайта на виртуальной машине Битрикс, это прописать домен в файле hosts. Заходим на сервер по sftp под root-пользователем, идем в корневую папку etc, открываем файл hosts.
В первой строке через пробел прописываем домен (если доменов несколько, прописываем все через пробелы в этой строке).
Получится примерно так:
127.0.0.1 localhost.localdomain localhost rushstudio.by
Сохраняем файл и перезагружаемся. Готово, все работает.
Домен прописан, ошибка осталась
Сейчас (осень 2021) у всех массово возникли проблемы. Это касается изменений на стороне центра сертификации let’s encrypt (30 сентября 2021 года подошел к концу срок действия корневого сертификата IdenTrust DST Root CA X3.). И если у вас было все настроено и работало, ошибка все-равно появляется.
Решается все довольно просто. Подключаемся по SSH, выходим из открывшегося меню (ctrl+c) и вводим команды подряд:
yum install ca-certificates
update-ca-trust
Готово. Теперь все будет работать.
Думаю в следующих обновлениях Виртуальной машины это поправят, но пока это решение рабочее на 100%.
Все-равно не помогло?
Первым делом проверьте AAAA-запись у домена, если она есть, удалите.
Не помогло? Проверьте что доступ к админке, где вы запускаете тест, открыт (нет ограничений по IP или других блокировок).
Дальнейшие случаи крааайне редки, но встречаются. Тут вам понадобятся немного знаний по системному администриролванию и нужно проверить firewall (сервер пытается подключиться сам к себе, а доступ закрыт) или для входа на сайт требуется HTTP/NTLM авторизация (тут уже просто на время тестирования отключите ее).
(@stalker_slx)
Estimable Member
Присоединился: 5 лет назад
Журнал проверки системы
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
Замечание. Не удалось проверить из-за ошибки в работе с сокетами
- 12 апреля, 2020
-
Обо всем
Очень часто, при развертке Битрикс24 на чистом сервере с Centos 7, после развертки портала сталкиваюсь с ошибкой проверки системы, которая гласит «Ошибка работы с сокетами».
Проблема может быть разная. Но самая частая, в 99% встречающаяся с Битрикс24 — ошибка работы с сокетами это не прописанный или прописанный неверно хост в настройках сервера..
Для решения идем на сервак — FTP/SSH — не важно. Я раньше очень любил подключаться по FTP, сейчас же предпочитаю такие вещи править в консоли.
Если вы подключены через файл-менеджер — заходим в папку — /etc/ и ищем там файл hosts
В консоли, я всегда себе ставлю Midnight Commander (yum install mc) и работаю с ним. Поэтому в консоли я по тому же пути захожу вот так: mc /etc/ и открываю файл hosts клавишей F4
Что должно быть в этом файле?
Главное — чтобы там была запись вида: 127.0.0.1 domain.crm
где domain.crm — это публичный адрес Вашего портала Битрикс24.
Кстати, очень рекомендую всегда ставить портал после подключения домена, это избавит вас от ряда мелочных действий по исправлению записей в настройках модулей)
Всем успехов и приятного пользования Битрикс24
После установки SSL сертификата в битриксе на виртуальной машине BitrixVM версии 7.4.1 начала появляться ошибка с сокетами, при этом если перейти на сайт по обычному http, то такой проблемы не наблюдается.
Ниже описано как решить данную проблему с сокетами при использование SSL сертификата и протокола HTTPS в Bitrix virtual appliance version 7.4.1 («1С-Битрикс: Веб-окружение»).
Открываем SSH клиет (PuTTY).
Если меню битрикса не отображается сразу, то заходим в меню следующей командой:
cd
./menu.sh
Затем выбираем поочередно пункты в меню:
8. Manage pool web servers
3. Configure certificates
2. Configure own certificate
Если данных пунктов у вас нет, то сначала нужно обязательно создать пул:
1. Create Management pool of server
После того, как зашли в пункт 2. Configure own certificate, указываем сайт или оставляем по умолчанию Enter site name (default):
Указываем:
Private Key path: /etc/nginx/ssl/cert.key
Certificate path: /etc/nginx/ssl/cert.crt
Certificate Chain path: /etc/nginx/ssl/cert_ca.crt
Пути заменяем на свои, либо предварительно запишите файлы сертификатов с такими именами по таким же путям.
После вопроса Please confirm you want to update certificate settings for the sites (N|y): вводим Y и нажимаем enter.
Готово, сайт должен открываться по HTTPS, но у меня не работало, поскольку я не указывал Certificate Chain path, у меня не было сертификатов для цепочки (промежуточных) и пока я не указал эти сертификаты в Certificate Chain path у меня SSL не работал. Точнее сам сайт по HTTPS открывался нормально в защищённом режиме, но в проверке системы битрикс показывалась ошибка с сокетами:
Ошибка! Работа с сокетами (check_socket): Fail Connection to ssl://site.com:443 Fail, Connection to ssl://site.com:443 Fail Socket error [0]:
Подробности ошибки указаны в журнале проверки системы.
Также если обратится к сайту в консоли через curl командой:
curl https:// site.com :443
выходило следующие curl: (60) Peer’s Certificate issuer is not recognized.
При нормальной работе должен показываться HTML код сайта.
Проблема еще была в том, что у меня не было никаких промежуточных сертификатов, а только публичный сертификат (CRT) и приватный ключ (Private KEY).
Центр сертификации мне больше ничего не выдавал, а точнее хостинг где я их покупал.
Техподдержка не отвечала, у них были праздничные выходные.
Как же их получить?
Нашёл решение такое, открываем сайт в браузере Firefox, нажимаем на замочек, затем на стрелку справа от зеленной надписи «Защищенное соединение», затем внизу «Подробнее».
После чего откроется окно «Информация о странице». Там нажимаем «Просмотреть сертификат».
Откроется страница с различными данными и параметрами сертификата. Находим ниже ссылки Загрузить PEM (сертификат) и PEM (цепочка сертификатов). Именно последний нам и нужен. Качаем PEM (цепочка сертификатов).
Формат PEM я переименовал в CRT. У меня сработало с ним, но возможно и с PEM сработает.
После того как я указал этот chain сертификат, как указано выше в Certificate Chain path, у меня наконец-то пропала ошибка с сокетами и все наконец стало работать как надо.
Записи о сертификатах создаются в файле:
/etc/nginx/bx/site_avaliable/ssl.s1.conf
там указано где хранятся сертификаты:
ssl_certificate /etc/nginx/certs/default/cert.crt;
ssl_certificate_key /etc/nginx/certs/default/cert.key;
ssl_trusted_certificate /etc/nginx/certs/default/cert_ca.crt;
Также данные записи были сделаны в файле /etc/nginx/bx/conf/ssl-push-custom.conf
А изначально настройки брались из /etc/nginx/bx/conf/ssl.conf
В документации вообще сказано, что для сайта по умолчанию s1 (который находится в директории /home/bitrix/www) файл будет называться /etc/nginx/bx/site_avaliable/s1.ssl.conf, а для дополнительных сайтов (которые создаются в директории /home/bitrix/ext_www/название_хоста) — /etc/nginx/bx/site_avaliable/bx_ext_ssl_название_хоста.conf.
Поэтому нужный файл конфигурации здесь еще нужно постараться определить.
Не забываем также указать в файле /etc/hosts ваш IP и домен. я указал два ip версии 4 и 6, а также 127.0.0.1 localhost
После правок нужно выполнить команду
nginx -t
И перезагрузить
service nginx restart или # /etc/init.d/nginx restart
Если нужно установить бесплатный сертификат LetsEncrypt, об это написано в этой статье Установка SSL сертификата LetsEncrypt на BitrixVM
Загрузка
Во время тестирования сайта, выскакивает следующая ошибка:
Работа с сокетами (check_socket): Fail
А в журнале мы видим следующий лог:
2016-Feb-27 13:41:10 Работа с сокетами (check_socket): Fail Connection to site.ru:80 Success == Request == GET /bitrix/admin/site_checker.php?test_type=socket_test&unique_id=83f81a8666278b68e58012ce161a1dd0 HTTP/1.1 Host: site.ru == Response == HTTP/1.1 404 Not Found Server: nginx/1.4.6 (Ubuntu) Date: Sat, 27 Feb 2016 12:41:10 GMT Content-Type: text/html Content-Length: 177 Connection: keep-alive == Body == <html> <head><title>404 Not Found</title></head> <body bgcolor="white"> <center><h1>404 Not Found</h1></center> <hr><center>nginx/1.4.6 (Ubuntu)</center> </body> </html> ==========
Для начала мы видим в этом логе, что при запросе система получает 404 ошибку. Нам нужно понять почему она происходит. Для этого нам нужно проверить логи веб-сервера. Так как у меня работает на nginx + apache2, я открыл логи nginx (Linux /var/log/nginx/error.log).
В данном логе я ищу мой запрос
2016/02/27 13:41:10 [error] 2309#0: *658 openat() "/usr/share/nginx/html/bitrix/admin/site_checker.php" failed (2: No such file or directory), client: 127.0.0.1, server: localhost, request: "GET /bitrix/admin/site_checker.php?test_type=socket_test&unique_id=83f81a8666278b68e58012ce161a1dd0 HTTP/1.1", host: "site.ru"
И что мы тут видим? Когда скрипт обращается сам к себе, то происходит обращение вообще не понятно по какому адресу «/usr/share/nginx/html/bitrix/admin/site_checker.php», тогда как сайт лежит: /var/www/site.ru/www/bitrix/admin/site_checker.php
Так же обратите внимание по какому адресу обращается скрипт:
client: 127.0.0.1, server: localhost,
Из этого мы делаем вывод что site.ru привязан к localhost и при обращении сайта к самому себе пытается найти файлы не в папке сайта, а в папке nginx по умолчанию. Открыв фаил /etc/hosts я увидел следующую запись:
127.0.0.1 localhost.localdomain localhost site.ru
Изменив эту строчку на
127.0.0.1 localhost.localdomain localhost
я успешно прошел тест, и ошибка больше не возникала!