База знаний

Часто задаваемые вопросы, на которые мы уже ответили

Установка SSL-сертификатов

Если на вашем боксе установлена панель управления ISP или Vesta, установить SSL-сертификат можно прямо из панели. Для установки используйте инструкции:

Сертификат в BitrixVM устанавливается из системного меню по инструкции

Далее в статье пойдет речь об установке SSL-сертификатов без использования панели управления.

Установка SSL-сертификата Let's Encrypt

Для установки SSL-сертификата Let's Encrypt предварительно выбираем ОС и веб-сервер на сайте бота и действуем согласно инструкции:

https://certbot.eff.org/

Настройка для веб-сервера 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


Была ли эта статья полезной?