Итак, многие сталкиваются с такой проблемой как ошибка сокетов при проверке сайта (а с 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 авторизация (тут уже просто на время тестирования отключите ее).
После установки 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
Загрузка
Если при проверки сайта на Битрикс в журнале проверки системы обнаруживается ошибка ssl Connection to ssl://:443 Fail
Журнал проверки системы
2021-Nov-12 20:01:54 Работа с сокетами (check_socket): Fail
Connection to ssl://вашсайт:443 Fail
Socket error [0]:
Ошибка! Не работает
Кто делает в первый раз, и не только, рекомендуем сделать резервное копирование.
На виртуальной машине Битрикс необходимо обновить корневые сертификаты linux centos 7 командами:
1. yum install ca-certificates
2. update-ca-trust
Проверяем. Если всё работает, то отлично.
В других случаях, как правило проверяем цепочку сертификатов.
Например, в firefox в адресной строке нажимаем на «замочек» — «Защищенное соединение» — «Подробнее»
В google chrome нажимаем на «замочек» -> «Безопасное подключение» -> «Действительный сертификат»В Microsoft Edge нажимаем на «замочек» -> «Подключение защищено» -> Кнопка «Показать сертификат»
Если видим, что в цепочке сертификатов неактуальные даты, то скачиваем актуальный сертификат в цепочке и кладём в системе.
Если эти проверки не помогли определить проблему, то проверяем время на сервере, и правильность доменного имени.
Нужна помощь, обращайтесь к нам!
В административной части 1С-Битрикс: Управление сайтом появилось предупреждение «Обнаружены ошибки в работе сайта. Проверить и исправить.» При проверке системы выдает следующую ошибку — «Работа с сокетами — ошибка»? Тогда вы по адресу и сейчас я расскажу вам как исправить ошибку.
Чаще всего данная ошибка появляется по следующим причинам:
1. Некорректно указан корневой каталог в конфигурации вашего домена на сервере. Например сайт расположен в директории «varwwwmydomain», а в конфигурации указан путь «varwwwdocsmydomain». В этом случае достаточно будет отредактировать конфигурационный файл Apache или Nginx и проблема будет решена.
2. Во втором случае ошибка появляется после перевода сайта на https протокол. В этом случае вы увидите в журнале проверки ошибку: Работа с сокетами (check_socket): Fail Connection to ssl://mydomain.ru:443 Fail Socket error [0]:. Для начала проверим наш сертификат с помощью командной строки сервера через Putty или Shell клиента в панели вашего сервера — curl https://ваш_сайт:443 если ответом будет not found ca-bundle или похожая значит вы не совсем корректно установили сертификат SSL. Даже если сайт при этом открывается по протоколу HTTPS. Также убедиться в том корректно или нет установлен сертификат поможет сервис — https://www.sslshopper.com/ssl-checker.html во всех пунктах проверки не должно быть ошибок.
Что-же делать если ошибка есть — необходимо установить промежуточный сертификат. Для этого чтобы не генерировать ca-bundle, просто находим его тут — https://www.namecheap.com/support/knowledgebase/article.aspx/9393/69/where-do-i-find-ssl-ca-bundle (искать по названию). И далее устанавливаем по инструкции к вашему серверу или хостингу. Возможно потребуется удалить имеющийся сертификат.
!Внимание: перед удалением или правкой сертификата SSL убедитесь что у вас имеется сам сертификат а также ключ сертификата!
После установки промежуточного сертификата еще раз проводим проверку вышеуказанными способами, видим что ошибок нет, и после этого выполняем проверку системы 1С-Битрикс.
Если у вас не получается самостоятельно решить проблему или вы боитесь нарушить работу сайта, обратитесь к специалистам тех.поддержки хостинга или к нашим специалистам для решения проблемы работа с сокетами.
Битрикс. Ошибка работы с сокетами
После перехода на https (+обновления битрикса и php до версии 7.1.) при самотестировании битрикс выдает ошибку. Хостинг тот же Таймвеб. В интернете информации крайне мало на эту тему.
Никто с таким не сталкивался, и как это исправить?
При том, что обращение просто через строку браузера:
https://www.kidster.ru/bitrix/admin/site_checker.php?test_type=socket_test&unique_id=e985e23ed838222405ed77e56943f825
Выдает ответ «SUCCESS»
2019-Jan-10 13:21:29 Работа с сокетами (check_socket): Fail Connection to ssl://www.kidster.ru:443 Success == Request == GET /bitrix/admin/site_checker.php?test_type=socket_test&unique_id=e985e23ed838222405ed77e56943f825 HTTP/1.1 Host: www.kidster.ru == Response == HTTP/1.1 403 Forbidden Server: nginx/1.14.0 Content-Type: text/html; charset=iso-8859-1 Transfer-Encoding: chunked Connection: keep-alive Vary: Accept-Encoding Date: Thu, 10 Jan 2019 10:21:29 GMT X-Page-Speed: 1.13.35.2-0 Cache-Control: max-age=0, no-cache == Body == <!DO CTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> <ht ml><head> <title>403 Forbidden</title> </head><body> <h1>Forbidden</h1> <p>You don't have permission to access /bitrix/admin/site_checker.php on this server.</p> </body></html>
Похожие вопросы
Alex
15 дек в 2022
448
1C Bitrix и REST API
Всем привет. Нужна некоторая консультация от разработчиков битрикса) Собираемся делать нативное приложение и нужно сделать так чтобы заказы из приложения и сайта были в одном месте. Может ли битрикс выступать в роли бэка в этом плане? Обмен будет через…
Здравствуйте! Возникла проблема в работе с сайтом
сайт на битриксе.
почему в директории upload папки sale, tmp и uf доступны для редактирования только под рутовым доступом?
Поддомен из папки с сохранением параметров. Мультиязычность Битрикс.
Настраиваю мультиязычность Битрикс. Из папки нужно отдать информацию поддомену. Написал:
RewriteBase /
RewriteCond %{HTTP_HOST} ^en.site.ru$
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteCond %{REQUEST_URI} !^/en(?:/|$)
RewriteRule ^(.*)$ en/$1 [L,QSA]
И…