Битрикс настройка SSL, ошибка работы с сокетами
После установки SSL сертификата в битриксе на виртуальной машине BitrixVM версии 7.4.1 начала появляться ошибка с сокетами, при этом если перейти на сайт по обычному http, то такой проблемы не наблюдается.
Ниже описано как решить данную проблему с сокетами при использование SSL сертификата и протокола HTTPS в Bitrix virtual appliance version 7.4.1 («1С-Битрикс: Веб-окружение»).
Открываем SSH клиет (PuTTY).
Если меню битрикса не отображается сразу, то заходим в меню следующей командой:
Затем выбираем поочередно пункты в меню:
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
Источник
Не удалось проверить из-за ошибки в работе с сокетами
Коллеги, помогите пожалуйста разобраться раз и навсегда, после установки коробки, при тестировании системы на ошибки вышло много ошибок связанных с сокетами. Вот скрин: https://prnt.sc/xo6dso
Не удалось проверить из-за ошибки в работе с сокетами. Как исправить данную ошибку, помогите пожалуйста научиться раз и навсегда. Благодарю!
Цитата |
---|
Александр Гусев написал: Нажмите вопрос и в открывшемся окне нажмите «журнал ошибок» или что-то в этом роде, там расшифровка ошибок идёт |
Я смотрел, исходя из того что написано там, я так и не понял что конкретно требуется сделать.
Осуществляется сетевое подключение с веб-сервера к самому себе. Это необходимо чтобы проверить работу сетевых функций, а также требуется для ряда последующих тестов.
А значит, если этот базовый тест не отработал, то дальнейшие тесты, где требуется создание независимого php процесса, не могут быть произведены.
Обычно проблема возникает, если подключение запрещено фаерволом, доступ к административной части запрещен по IP или для входа на сайт требуется HTTP/NTLM авторизация. На этапе тестирования необходимо отключить эти ограничения.
А в журнале ошибок написано:
2021-Jan-26 21:53:49 Работа с сокетами (check_socket): Fail Connection to 176.120.203.37:80 Fail Socket error [111]: Connection refused Ошибка! Не работает
Источник
comp55
Поиск по этому блогу
Битрикс: ошибка работы с сокетами
Ошибка работы с сокетами выявляется в BitrixVM при запуске инструмента «Проверка системы»:
Сообщения об этом будет выведено в нескольких разделах теста:
Осуществляется сетевое подключение с веб-сервера к самому себе. Это необходимо чтобы проверить работу сетевых функций, а также требуется для ряда последующих тестов.
А значит, если этот базовый тест не отработал, то дальнейшие тесты, где требуется создание независимого php процесса, не могут быть произведены.
Обычно проблема возникает, если подключение запрещено фаерволом, доступ к административной части запрещен по IP или для входа на сайт требуется HTTP/NTLM авторизация. На этапе тестирования необходимо отключить эти ограничения.
Подробности в журнале проверки системы.
В журнале будет следующая информация:
где IP 9. 114:80 — внешний IP адрес BitrixVM сервера.
Если доступ к серверу ограничен фаерволом, а подключение происходит только по IP-адресу (домен не привязан), то ошибка работы с сокетами исправляется следующим образом:
- Проверяется корректность настройки DNS-сервера(ров) в панели управления виртуальной машиной (т.е. у VPS-провайдера);
- Проверяется корректность настройки DNS-сервера(ров) на BitrixVM;
- К серверу привязывается доменное имя;
- Административная панель открывается по домену и тест запускается повторно.
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;
>
Источник
Работа с сокетами (check_socket): Fail Connection to ssl://mysite.net:443 Fail
Подскажите какие действия необходимо произвести, чтобы получить доступ по ssl и устранить данную ошибку (на облаке всё работало замечательно)!
p/s ВСЕМ + к карме за любое содействие и дельный совет!
Цитата |
---|
Дмитрий Василевский написал: Добрый день! |
Подскажите какие действия необходимо произвести, чтобы получить доступ по ssl и устранить данную ошибку (на облаке всё работало замечательно)!
p/s ВСЕМ + к карме за любое содействие и дельный совет!
У нас версия 5.6. В этой версии появилось требование для работы сайта по https протоколу. Сертификат должен быть указан в php:
http://php.net/manual/en/migration56.openssl.php
p/s Только ещё где именно и что прописывать.
Цитата |
---|
Дмитрий Василевский написал: ua6em , открыт |
У нас версия 5.6. В этой версии появилось требование для работы сайта по https протоколу. Сертификат должен быть указан в php:
http://php.net/manual/en/migration56.openssl.php
p/s Только ещё где именно и что прописывать.
в связке апач + инжинкс за «сертификаты» отвечает последний
Делаем как тут — http://dev.1c-bitrix.ru/support/forum/forum32/topic51594/
Туда же положить промежуточный и корневой сертификаты
Сайты с SSL требуют выделенного IP .
Правда есть расширение SNI , которое снимает техническое ограничение в сертификат на 1 ip. Новые операционные системы и новые браузеры с ним отлично работают, но вот с поддержкой старого софта все не так хорошо. Centos 5 и RHEL5 поставляются с openssl-0.9.8e и как следствие не смогут включить поддержку SNI для nginx или apache. WindowsXP еще активно используется а для него поддержки SNI не было и не будет. Еще android 2.x не дружит с SNI. Работать все будет частично.
Цитата |
---|
Дмитрий Василевский написал: ua6em , СПАСИБО! 1,5 недели мучались. были близко. но ты помог дойти до цели. |
2 часа гугления ни к чему не привела. В основном люди жалуются на VMBitrix, у меня VDS, сертификат от lets encrypt установлен корректно, через панель управления VestaCP.
в консоли curl https://svetlii-dom.ru:443 выдает исходный код сайта
почему битрикс пытается подключиться по ssl?
Цитата |
---|
Александр Косарев написал: кто нибудь победил проблему? |
Цитата |
---|
Александр Косарев написал: кто нибудь победил проблему? |
отвечу сам себе, была проблема с цепочкой сетрификата
Цитата |
---|
Антон Пашков написал: Такая же проблема была с цепочкой сертификатов на виртуальной машине битрикс |
Цитата |
---|
Центр сертификации предоставляет не просто сертификат — на деле это цепочка сертификатов (CA Bundle), каждое звено которой работает на повышение доверия конечного пользователя. |
Цитата |
---|
ACHTUNG. Т.к. Битрикс24-CRM (та что на 12 пользователей) имеет свою вирт. машину (которая устанавливается при разворачивании портала), интерфейс отличается от стандартного интерфейса Bitrix VM. Будьте внимательны. Ниже инструкция для Битрикс24-CRM |
Т.к. данный топик посвящен проблеме с уже установленным SSL-сертификатом, то предполагаем, что он уже установлен.
Как установить SSL-сертификат см. как установить SSL- сертификат
Шаг 1. копируем файл с цепочкой в туже директорию, где и лежит сертификат
для CentOS 7: /etc/nginx/ssl/ИМЯ_ДОМЕНА_com.ca
Шаг 2. Входим на сервер через SSH (putty)
Шаг 3. Запускаем интерфейс BitrixVM: /root/menu.sh
Шаг 4. Выбираем Manage pool web servers : 5
Шаг 5. Выбираем Configure certificates : 2
Шаг 6. Выбираем Configure own certificate : 2
Шаг 7. Отвечаем на запросы системы:
Шаг 8. Проверяем корректность установки сертификата, через SSL-checker
Источник
Ошибка работы с сокетами
В инструментах запустил проверку системы. После завершения проверки, отображается ошибка работы с сокетами «Ошибка! Не работает».
В логе проверки вот такое выдает:
Цитата |
---|
Александр Гусев написал: My_site.eu — в логах так и пишется? |
Цитата |
---|
Scrooge написал: домен наверно еще не знает про новый сервер? |
Цитата |
---|
Scrooge написал: Если на сайт через hosts заходите, то будет писать эту ошибку, как домен делегируете, ошибка сама исчезнет |
Цитата |
---|
Александр Гусев написал: значит покопайте, почему 404 для /bitrix/admin/site_checker.php |
Особенно подчеркну предложение Александра. Кроме 404 и 302 ошибка бывает Советую внимательно посмотреть логи и какой ответ сервера. Вот на фото подчеркнуто красным. Чуть ниже надписи Работа с сокетами (check_socket): Fail . Долго искал в поисковике bitrix socket error , нашел интересную и подробную статью Bitrix. Исправляем ошибку «Работа с сокетами — Ошибка! , чтобы сформулировать правильное задание ТЗ , а то вовсе без техподдержки решить проблему после » Полного тестирования системы» /bitrix/admin/site_checker.php?lang=ru
У меня другая ошибка была, неправильный redirect Но суть в том, что эта проблема с сокетом. может быть причиной значительного увеличения нагрузки на сервер.. (фото ДО и после ))
Очень рад что есть такой полезный инструмент «Проверка системы», он позволяет не создавать лишней работы по оптимизация скриптов и вообще избежать много другого страшного гемора, например потерянные ссылки на сайте.
Цитата |
---|
Александр Гусев написал: значит покопайте, почему 404 для /bitrix/admin/site_checker.php |
Особенно подчеркну предложение Александра. Кроме 404 и 302 ошибка бывает Советую внимательно посмотреть логи и какой ответ сервера. Вот на фото подчеркнуто красным. Чуть ниже надписи Работа с сокетами (check_socket): Fail . Долго искал в поисковике bitrix socket error , нашел интересную и подробную статью Bitrix. Исправляем ошибку «Работа с сокетами — Ошибка! , чтобы сформулировать правильное задание ТЗ , а то вовсе без техподдержки решить проблему после » Полного тестирования системы» /bitrix/admin/site_checker.php?lang=ru
У меня другая ошибка была, неправильный redirect Но суть в том, что эта проблема с сокетом. может быть причиной значительного увеличения нагрузки на сервер.. (фото ДО и после ))
Очень рад что есть такой полезный инструмент «Проверка системы», он позволяет не создавать лишней работы по оптимизация скриптов и вообще избежать много другого страшного гемора, например потерянные ссылки на сайте.
Источник