Если на вашем боксе установлена панель управления ISP или Vesta, установить SSL-сертификат можно прямо из панели. Для установки используйте инструкции:
Сертификат в BitrixVM устанавливается из системного меню по инструкции.
Далее в статье пойдет речь об установке SSL-сертификатов без использования панели управления.
Установка SSL-сертификата Let's Encrypt
Для установки SSL-сертификата Let's Encrypt предварительно выбираем ОС и веб-сервер на сайте бота и действуем согласно инструкции:
Настройка для веб-сервера Apache
- Размещаем файлы сертификата в директории
/etc/ssl/.
- Активируем mod_ssl:
$ sudo a2enmod ssl
- В конфигурационном файле сайта в директории
/etc/apache2/sites-enabled/
создаем новыйVirtualHost
для порта 443:<VirtualHost *:443> </VirtualHost>
- Копируем в созданный VirtualHost все настройки из уже существующего, добавляя:
SSLEngine on SSLCertificateFile /etc/ssl/domains_ru.crt SSLCertificateKeyFile /etc/ssl/domain_ru.key SSLCertificateChainFile /etc/ssl/domain_ru.ca-bundle
- SSLCertificateFile — путь к файлу с сертификатом.
- SSLCertificateKeyFile — путь к файлу с приватным ключом сертификата.
- SSLCertificateChainFile — путь к файлу с цепочкой сертификата.
Стоит отметить: начиная с версииApache 2.4.8
параметрSSLCertificateChainFile
считается устаревшим. В этом случае необходимо указывать вSSLCertificateFile
путь к файлу, содержащему и сертификат, и цепочку. Создаем файл командой:$ cat domains_ru.crt domain_ru.ca-bundle >> ssl-bundle.crt
- Перезагружаем веб-сервер, чтобы применить изменения:
service apache2 restart
Настройка для веб-сервера Nginx
- Объединяем файлы domain_ru.ca-bundle и domain_ru.crt в один файл, например, ssl-bundle.crt:
$ cat domain_ru.ca-bundle domains_ru.crt >> ssl-bundle.crt
- Полученный файл ssl-bundle.crt и приватный ключ размещаем в директории
/etc/nginx/ssl
. - В конфигурационном файле сайта в директории
/etc/nginx/sites-available/
создаем новыйserver
для порта 443:
server {
listen 443; - Копируем в созданный блок
server
все настройки из уже существующего, добавляя:ssl on; ssl_certificate /etc/ssl/certs/mysite_com.crt; ssl_certificate_key /etc/ssl/private/mysite.key;
- ssl_certificate — путь к файлу с сертификатом.
- ssl_certificate_key — путь к файлу с приватным ключом сертификата.
- Проверяем конфигурацию nginx на наличие ошибок и перезагружаем веб-сервер, чтобы применить изменения:
$ nginx -t $ systemctl restart nginx.service