Работа с сокетами ошибка не работает bitrixvm

Битрикс: ошибка работы с сокетами

Ошибка работы с сокетами выявляется в BitrixVM при запуске инструмента «Проверка системы»:

Битрикс: ошибка работы с сокетами. Инструмент "Проверка системы"

Сообщения об этом будет выведено в нескольких разделах теста:

Битрикс: ошибка работы с сокетами

Битрикс: ошибка работы с сокетами

Битрикс: ошибка работы с сокетами

Расшифровка ошибки и ее причины, согласно отчету могут быть следующие (открывается по клику на иконке вопроса):

Осуществляется сетевое подключение с веб-сервера к самому себе. Это необходимо чтобы проверить работу сетевых функций, а также требуется для ряда последующих тестов.

А значит, если этот базовый тест не отработал, то дальнейшие тесты, где требуется создание независимого php процесса, не могут быть произведены.

Обычно проблема возникает, если подключение запрещено фаерволом, доступ к административной части запрещен по IP или для входа на сайт требуется HTTP/NTLM авторизация. На этапе тестирования необходимо отключить эти ограничения.

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

В журнале будет следующая информация:

Битрикс: ошибка работы с сокетами

где IP 9………114:80 — внешний IP адрес BitrixVM сервера.

Если доступ к серверу ограничен фаерволом, а подключение происходит только по IP-адресу (домен не привязан), то ошибка работы с сокетами исправляется следующим образом:

  • Проверяется корректность настройки DNS-сервера(ров) в панели управления виртуальной машиной (т.е. у VPS-провайдера);
  • Проверяется корректность настройки DNS-сервера(ров) на BitrixVM;
  • К серверу привязывается доменное имя;
  • Административная панель открывается по домену и тест запускается повторно.

Подробное описание:

1. Если VPS-провайдер предоставляет уже настроенную виртуальную машину, то DNS-сервера хостера скорее всего в виртуальной машине уже прописаны. Если, виртуальная машина создается самим пользователем с нуля, т.е. создается сеть, подключается фаервол, выбирается дистрибутив ОС, то записи DNS-сервера(ров) в конфигурации сети следует обязательно проверить.

2. Используемые DNS-сервера (ниже — для примера приведены Google Public DNS сервера) в BitrixVM должны быть прописаны в следующие файлы:

/etc/resolv.conf

nameserver 8.8.8.8
nameserver 8.8.4.4

/etc/sysconfig/network-scripts/ifcfg-eth3 (или ifcfg-eth0/1/2)

HWADDR=00:51:52:09:05:01
NAME=eth3
GATEWAY=192.168.1.1
DEVICE=eth3
ONBOOT=yes
USERCTL=no
BOOTPROTO=static
NETMASK=255.255.255.0
IPADDR=192.168.1.2
#DNS1=192.168.1.1
#PEERDNS=yes
DNS1=8.8.8.8
DNS2=8.8.4.4
check_link_down() {
 return 1;
}

3. В панели управления доменом указывается IP-адрес BitrixVM сервера.

И, дополнительно в файл: /etc/hosts вместо записей вида localhost, прописывается привязанный домен:

127.0.0.1 site.ru
192.168.1.2 VMBitrix

4. Теперь, при запуске «Проверки системы» сайта через доменное имя:

http://site.ru/bitrix/admin/site_checker.php?lang=ru

сообщений, связанных с ошибкой работы с сокетами выводится не будет, т.к. система будет настроена правильно.

Примеры:

Битрикс: ошибка работы с сокетами

где IP 9………114:80 — внешний IP адрес BitrixVM сервера.

Если доступ к серверу ограничен фаерволом, а подключение происходит только по IP-адресу (домен не привязан), то ошибка работы с сокетами исправляется следующим образом:

  • Проверяется корректность настройки DNS-сервера(ров) в панели управления виртуальной машиной (т.е. у VPS-провайдера);
  • Проверяется корректность настройки DNS-сервера(ров) на BitrixVM;
  • К серверу привязывается доменное имя;
  • Административная панель открывается по домену и тест запускается повторно.

Подробное описание:

1. Если VPS-провайдер предоставляет уже настроенную виртуальную машину, то DNS-сервера хостера скорее всего в виртуальной машине уже прописаны. Если, виртуальная машина создается самим пользователем с нуля, т.е. создается сеть, подключается фаервол, выбирается дистрибутив ОС, то записи DNS-сервера(ров) в конфигурации сети следует обязательно проверить.

2. Используемые DNS-сервера (ниже — для примера приведены Google Public DNS сервера) в BitrixVM должны быть прописаны в следующие файлы:

/etc/resolv.conf

nameserver 8.8.8.8
nameserver 8.8.4.4

/etc/sysconfig/network-scripts/ifcfg-eth3 (или ifcfg-eth0/1/2)

HWADDR=00:51:52:09:05:01
NAME=eth3
GATEWAY=192.168.1.1
DEVICE=eth3
ONBOOT=yes
USERCTL=no
BOOTPROTO=static
NETMASK=255.255.255.0
IPADDR=192.168.1.2
#DNS1=192.168.1.1
#PEERDNS=yes
DNS1=8.8.8.8
DNS2=8.8.4.4
check_link_down() {
 return 1;
}

3. В панели управления доменом указывается IP-адрес BitrixVM сервера.

И, дополнительно в файл: /etc/hosts вместо записей вида localhost, прописывается привязанный домен:

127.0.0.1 site.ru
192.168.1.2 VMBitrix

4. Теперь, при запуске «Проверки системы» сайта через доменное имя:

http://site.ru/bitrix/admin/site_checker.php?lang=ru

сообщений, связанных с ошибкой работы с сокетами выводится не будет, т.к. система будет настроена правильно.

Примеры:

Битрикс: ошибка работы с сокетами

Битрикс: ошибка работы с сокетами

Битрикс: ошибка работы с сокетами

Битрикс: ошибка работы с сокетами

После установки 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

Загрузка

Устраняем ошибку работы с сокетами (Работа с сокетами — Ошибка! Не работает)

Алгоритм решения проблемы с сокетами на Битриксе:

  1. Подключить на сайт SSL Сертификат
  2. В файле etc/hosts возможно потребуется прописать доменное имя в виде
    127.0.0.1 yourdomain.ru
  3. Проверить, что сайт доступен изнутри с помощью curl (по SSH):
    curl -I http://yoursite.ru
    curl -I https://yoursite.ru

    Если всё отрабатывает корректно, то в ответе будет код 200 и заголовки сайта

  4. Обновить цепочку сертификатов на сервере с помощью команд SSH
    yum install ca-certificates
    update-ca-trust

Возникшие ситуации из практики

  1. После покупки сертификата установлены только сами crt без цепочки сертификатов. В этом случае выдается ошибка сокетов. Решение — правильно установить сертификат вместе с цепочкой
  • 0
  • 1
  • 2
  • 3
  • 4
  • 5

Добрый день. Недавно приобрел лицензию битрикс, решил развернуть локальный сервер.
Все работает, но есть одна проблема при проверке правильности работы bitrix вылезает ошибка:

kztr8we.png

Все народные методы перепробовал. На винде — в хостах прописал два хоста — phpma.localbitrix.ru и localbitrix.ru (собсна, хост, на котором все расположено).

Если обращаться по IP сервера, то все открывается, проверка на сокеты проходит успешно.

rZ7awNb.png

В хосте на сервере уже прописал домен, пробую его пинговать с винды — все «ОК», ровно, как и на сервере.

Q5bCAct.png
XRmKtjV.png
gdnQkQu.png
Tdl4z4A.png

В чем может крыться проблема?

P.S — заранее отвечу на всеми любимый вопрос о перезагрузке адаптеров и сервера — да, перезагружал.

Итак, многие сталкиваются с такой проблемой как ошибка сокетов при проверке сайта (а с 30 сентября 2021 так еще больше таких проблем, решение будет ниже):

2021-10-11_11-14-32.png

Из-за этой ошибки сайт не может проверить все остальные параметры и вы видите очень много красных предупреждений: «Замечание. Не удалось проверить из-за ошибки в работе с сокетами». Она бывает при установке сайта на виртуальную машину Битрикс.

Что делать?

Первое что нужно сделать при запуске сайта на виртуальной машине Битрикс, это прописать домен в файле 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 авторизация (тут уже просто на время тестирования отключите ее).

Возможно, вам также будет интересно:

  • Работа с речевыми ошибками в 11 классе упражнения
  • Работа с персоналом при возникновении ошибок
  • Работа с ошибками для детей
  • Работа с ошибками в паскале
  • Работа с ошибками в ворде

  • Понравилась статья? Поделить с друзьями:
    0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии