то ждем ваше обращение в нашей службе тех поддержки.
С версии 7.2.2 битрикс-машины появилась возможность подключать бесплатные валидные SSl-сертификаты от Lets Encrypt прямо из меню виртуальной машины.
Let’s Encrypt — центр сертификации, начавший работу в бета-режиме с 3 декабря 2015 года, предоставляющий бесплатные криптографические сертификаты для HTTPS. Процесс выдачи сертификатов полностью автоматизирован. Сертификаты выдаются только на 3 месяца для предотвращения инцидентов безопасности.
Ограничения LetsEncrypt:
1/ https://community.letsencrypt.org/t/which-browsers-and-operating-systems-support-lets-encrypt/43942/ Firefox. Как мимимум с 4.0 (возможно с 1.0) работает. (StartSSL в древних лисах работать не будет). Все современные лисы работают всеми CA.
3/ Thunderbird. Точно все современные версии на всех ОС (включая wosign. StartSSL в древних версиях не поддерживается)
4/ IE и Edge. Минимум 8 версия для всех. IE6 точно не поддерживается, по IE7 в зависимости от условий.
5/ Chrome и Cromium. Поддержка ОС аналогично встроенной ОС криптоапи (древние макоси, линуксы и winXP не будут работать ни с каким CA).
6/ Safari на всех современных Apple-устройствах точно работает.
7/ Android точно работает с версии 4.2 со всеми . Версия 2.0.6 (Android browser 2.0.6 Webkit 530.17) точно НЕ работает.
8/ Java не работает с letsencrypt.
9/ wget и curl могут не работать на старых системах
Как установить бесплатный ssl сертификат от Lets Encrypt в битрикс-машине?
В меню машины пройти по пунктам 8. Manage web nodes in the pool -> 3. Certificates configuration -> 1. Configure Let's encrypt certificate. Указать сайт (или сайты), dns имена сайта(-ов), email для нотификаций сервиса Lets Encrypt, подтвердить ввод.
Пример:
Мастер самостоятельно запросит и установит сертификат из сети.
Поддерживается ввод нескольких сайтов, через запятую (test1.bx, test2.bx).
Перевыпуск сертификатов будет автоматический. Это отлично, с учетом того что сертификат дается только на 3 месяца.
Что делать, если сертификат не устанавливается и битрикс машина выдает ошибку?
Мое знакомство с данным новшеством прошло именно так: после настройки сертификата фоновая задача в машине завершалась с ошибкой:
--------------------------------------------------------- TaskID | Status | Last Step ---------------------------------------------------------- site_certificate_1113161018 | error | play|complete
Смотрим логи и выясняем подробности. Директория /opt/webdir/temp содержит логи задач, смотрим по нашей задаче site_certificate_1113161018.
Первый лог /opt/webdir/temp/site_certificate_1113161018/status, в нем есть строчка с прерыванием, а также видим и второй лог:
TASK [web : create certificates] *********************************************** fatal: [acrit]: FAILED! => {"changed": true, "cmd": "/home/bitrix/dehydrated/dehydrated -c > /home/bitrix/dehydrated_update.log 2>&1" ...
С этого места становиться понятно, что машина установила библиотеку dehydrated в папку /home/bitrix/dehydrated, а лог ее выполнения расположен в dehydrated_update.log
Смотрим второй лог /home/bitrix/dehydrated_update.log, в нем тоже есть ошибка:
+ Responding to challenge for www.goooodsite.ru.. ERROR: Challenge is invalid! (returned: invalid) (result: { "type": "http-01", "status": "invalid", "error": { "type": "urn:acme:error:unauthorized", "detail": "Invalid response from http://www.goooodsite.ru/.well-known/acme-challenge/dummy", "status": 403 }, })
Выходит, что для проверки требуется доступность сайта по http и https с самоподписанным сертификатом, дабы проверить права владения на оба сайта.
Поэтому настроим редирект и еще раз запустим получение ключа:
1/ Отключаем редирект с http и https
2/ Создаем вручную папку на сайте /.well-known/acme-challenge/ с текстовым файлом внутри:
echo "thisisthecontentoffile" > /home/bitrix/www/site/.well-known/acme-challenge/dummychallengefile
и проверяем чтобы этот файл корректно открывался для http и https: http://www.goooodsite.ru/.well-known/acme-challenge/dummychallengefile https://www.goooodsite.ru/.well-known/acme-challenge/dummychallengefile
3/ Запускаем заново, и опять ошибка. Опять смотрим логи задачи. На этот раз сертификат получен, а ошибка в конфигурации сайта в nginx: /etc/nginx/bx/site_avaliable/bx_ext_ssl_www.goooodsite.ru.conf
4/ ошибку устраняем (лишняя директива из-за авто-вставки настроек в файл) и видим что сертификат добавился в конфиг, а сами сертификаты хранятся тут /home/bitrix/dehydrated/certs/:
# CERTIFICATE ANSIBLE MANAGED BLOCK include bx/conf/ssl_options.conf; ssl_certificate /home/bitrix/dehydrated/certs/www.goooodsite.ru/fullchain.pem; ssl_certificate_key /home/bitrix/dehydrated/certs/www.goooodsite.ru/privkey.pem; ssl_trusted_certificate /home/bitrix/dehydrated/certs/www.goooodsite.ru/chain.pem; # CERTIFICATE ANSIBLE MANAGED BLOCK
5/ nginx перезапускаем, редирект из http в https возвращаем. Сертификат добавлен.
Вот собственно путь отладки и исправления ошибки авто-установки сертификата, если сертификат был установлен на сайте, как написано в статье "Установка ssl-сертификата для битрикс окружения bitrix vm".
Использованные материалы:
- Халявные сертификаты для нищебродов без гемора. LetsEncrypt вместо Wosign и их подводные камни.
- VMBitrix 7.2.0 в релизе
- The client lacks sufficient authorization - 404
Назад в раздел