Установка бесплатного SSL-сертификата Let’s Encrypt для сайта
Как установить бесплатный SSL-сертификат Let’s Encrypt для сайта на платформе 1С-Битрикс и не только.
Для работы любого сайта, с недавнего времени, все
SSL (англ. Secure Sockets Layer — уровень защищённых сокетов) — это протокол асимметричной криптографии для аутентификации ключей обмена, который подразумевает безопасную связь.
Частое использование протокола SSL привело к формированию протокола HTTPS (Hypertext Transfer Protocol Secure), поддерживающего шифрование. Данные, которые передаются по протоколу HTTPS, «упаковываются» в криптографический протокол SSL или TLS, тем самым обеспечивая защиту этих данных. Такой способ защиты широко используется для работы
В отличие от HTTP с
Бесплатный SSL-сертификат Let’s Encrypt
Let’s Encrypt — это бесплатный, автоматизированный и открытый Центр Сертификации, созданный некоммерческой организацией Internet Security Research Group (ISRG).
Let’s Encrypt помогает людям выпускать SSL/TLS сертификаты для их сайтов с доступом по HTTPS, бесплатно, максимально облегчая процесс выдачи. Потому что желает сделать интернет безопасным и уважающим конфиденциальность его пользователей.
На 2022 год насчитывается более 200 000 000 активных сертификатов Let’s Encrypt, актуальную статистику можно найти на сайте организации.
Как установить бесплатный SSL-сертификат Let’s Encrypt
Установить бесплатный
Установка SSL-сертификата на обычном хостинге
Если вы используете обычный хостинг, то самый простой способ — заказать установку бесплатного
Такой вариант доступен для сайтов на любой платформе и даже без нее, так как SSL-сертификат создается хостинг-провайдером. К примеру, для виртуального хостинга Timeweb, вам необходимо изучить справочные материалы в статье: Заказ, установка и продление SSL. А затем по инструкции заказать
Внимание! Если домен делегирован на
Установка SSL-сертификата на виртуальном сервере VPS / VDS
Для сайтов, работающих на виртуальном сервере VDS / VPS, процедура получения
Некоторые
Если же
Установка SSL-сертификата через меню виртуальной машины VMBitrix
Наиболее простой способ установки бесплатного
Для начала подключитесь к серверу по SSH через простейшую программу PuTTY или через другого
Внимание! Для подключения к серверу по SSH предварительно проверьте наличие такой возможности и ее активность в личном кабинете
Далее, для перехода к меню виртуальной машины VMBitrix, вам необходимо запустить скрипт командой:
/root/menu.sh
После вам необходимо вводить номера меню в командной строке, после каждого ввода нажимать Enter. Номера меню в следующем порядке: 8. Управление
Затем необходимо вводить данные на соответствующие запросы:
- site name — имя сайта в пулле сайтов виртуальной машины (по умолчанию: default) или несколько имен сайтов, для которых нужно выпустить сертификат(ы) Let’s encrypt, например:
default,
abm-it .ru - dns name(s) — все домены и зеркала данного сайта, для которых должен быть выпущен сертификат, включая домен с www и без, вводить несколько доменов через запятую, например:
crm.
abm-it .ru, www.crm.abm-it .ru,abm-it .ru, www.abm-it .ru - email for LE notifications — почтовый адрес для уведомлений сервиса Lets Encrypt (на этот адрес придут уведомления об окончании действия срока сертификатов и др.).
В завершении подтвердите ввод, введя «Y» и нажав Enter. Мастер самостоятельно запросит и установит сертификат в течение нескольких минут. Пути
Проверить успешное выполнение задания вы можете также через меню виртуальной машины, предварительно выйдя в главное меню и выбрав: 10. Фоновые задачи (10. Background pool tasks). При успешном выполнении задания вы увидите статус: finished.
Проверка SSL-сертификата
Бывает, что фоновые задачи не выполняются успешно и имеют статус «error». В таком случае необходимо проверить, корректно ли вы ввели все данные и повторить процедуру.
Для проверки
openssl s_client -connect domain.name:443
Проверить работу сайта по
curl -v https://domain.name:443
В случае успеха вы увидите код сайта. В случае проблем вы увидите уведомление об ошибке.
В графическом интерфейсе также можно проверить
Если ошибка повторяется и вам не удается определить и исправить проблему, обратитесь к опытному
Установка SSL-сертификата через Certbot
Но что же делать, если у вас не используется виртуальная машина VMBitrix, а сайт установлен на чистую операционную систему CentOS? Или у вас никак не выходит воспользоваться меню виртуальной машины для установки
Вы можете установить
Установка snapd
Подключитесь по SSH на сервере с привилегиями sudo и установите snapd. Snap доступен для CentOS 8 и CentOS 7, начиная с версии 7.6. Он также доступен для Red Hat Enterprise Linux (RHEL) 7.6+. Если вам нужно знать, какую версию CentOS вы используете, введите:
cat /etc/centos-release
Если у вас еще нет репозитория EPEL для CentOS 7, его можно добавить с помощью следующей команды:
sudo yum install epel-release
Когда репозиторий EPEL добавлен в вашу установку CentOS, установите пакет snapd:
sudo yum install snapd
После установки включите модуль systemd, который управляет основным сокетом мгновенной связи:
sudo systemctl enable -now snapd.socket
Создайте символическую ссылку между /var/lib/snapd/snap и /snap, выполнив команду:
sudo ln -s /var/lib/snapd/snap /snap
Далее либо выйдите из системы и снова войдите, либо перезапустите систему, чтобы убедиться, что пути привязки обновлены правильно, выполнив команду:
reboot
Snap теперь установлен и готов к работе.
Если у вас есть
sudo yum remove certbot
Если вы ранее использовали Certbot через сценарий
sudo sed -i '/certbot-auto /d' /etc/crontab
sudo rm /usr/local/bin/certbot-auto
sudo rm -rf /opt/eff.org
Установка Certbot
Чтобы установить Certbot, выполните команду:
sudo snap install -classic certbot
Далее убедитесь, что команда certbot может быть запущена:
sudo ln -s /snap/bin/certbot /usr/bin/certbot
Certbot установлен и готов к работе.
Установка SSL-сертификатов
Чтобы получить сертификаты с автоматическим изменением конфигурации Nginx и включением доступа HTTPS за один шаг, выполните эту команду:
sudo certbot -nginx
Далее выведется список доменных имен, пример:
1: abm-it .ru
2: www.abm-it .ru
3: crm.abm-it .ru
4: www.crm.abm-it .ru
Выберите нужные и перечислить их номера через запятую. Либо оставьте поле ввода пустым, чтобы выбрать все предложенные домены.
Если нужного домена нет в списке проверьте алиасы в файлах конфигурации httpd. Например при использовании VMBitrix файл будет иметь путь: /etc/httpd/bx/conf/bx_ext_[название_сайта].conf — находим его и дописываем алиасы через пробел:
ServerName abm-it .ru
ServerAlias www.abm-it .ru crm.abm-it .ru www.crm.abm-it .ru
Далее ищем файл конфигурации Nginx, для VMBitrix по пути: /etc/nginx/bx/site_avaliable/bx_ext_[название_сайта].conf или в /etc/nginx/bx/site_avaliable/s1.conf и также дописываем алиасы через пробел:
server {
listen 80;
server_name abm-it .ru www.abm-it .ru crm.abm-it .ru www.crm.abm-it .ru;
Затем проверьте файлы на наличие ошибок:
httpd -t
nginx -t
Если вышло уведомление об ошибках, исправьте их. Далее перезагрузите службы httpd и Nginx командами:
service httpd restart
service nginx restart
Обновление и изменение SSL-сертификатов
Certbot автоматически обновит
Вы можете протестировать автоматическое продление своих сертификатов, выполнив команду:
sudo certbot renew -dry-run
Если эта команда завершится без ошибок, ваши сертификаты будут автоматически обновляться в фоновом режиме.
Если необходимо изменить конфигурацию, то вы можете вручную обновить
sudo certbot -nginx -v
Далее на запрос «What would you like to do?» выберите «2: Renew & replace the certificate (may be subject to CA rate limits)» и сертификаты будут обновлены.
Обновление корневых сертификатов на Linux
Если у вас корректно установились сертификаты и успешно проходят проверку, но при этом наблюдаются проблемы, в том числе с сокетами, возможно вам следует обновить корневые сертификаты на Linux, для этого выполните команду:
yum update -y ca-certificates
После этого проблема с сокетами должна уйти.
Если же проблему с сокетами устранить не удалось или у вас возникли другие проблемы, обратитесь к