SSL-сертификат — это цифровой документ, который подтверждает подлинность сайта и обеспечивает безопасность личных данных пользователя. При использовании SSL-сертификата данные передаются на сервер по защищённому протоколу. SSL-сертификат состоит из открытого и закрытого ключа, а также может включать цепочку сертификатов.

Если при установке платформы сертификат не был указан, то к платформе будет подключён самоподписанный SSL-сертификат. При открытии веб-интерфейса платформы в браузере будет появляться предупреждение о вероятной угрозе безопасности. Чтобы это предупреждение не появлялось, подключите к платформе SSL-сертификат, подписанный центром сертификации.

Вы можете приобрести сертификат в любом сервисе по выдаче сертификатов или получить бесплатный от Let's Encrypt. Сертификат Let's Encrypt можно получить через интерфейс платформы. Платформа взаимодействует с Let's Encrypt с помощью скрипта acme.sh.

Сертификат Let's Encrypt действителен 90 дней. Если вы заказали сертификат через интерфейс платформы, то перед истечением срока сертификата платформа автоматически запустит процесс его продления.  

Управление сертификатамиLink to Управление сертификатами


Чтобы подключить сертификат, в правом меню нажмите значок  → вкладка Глобальные настройки:

  1. Нажмите кнопку Переподключить сертификат.
  2. Чтобы подключить выпущенный SSL-сертификат:
    1. Откройте вкладку Добавить выпущенный SSL-сертификат.
    2. Введите произвольное Имя SSL-сертификата. Под этим именем сертификат будет отображаться в интерфейсе платформы.
    3. Скопируйте содержимое открытого ключа SSL-сертификата в формате pem, crt или cer.
    4. Если сертификат содержит цепочку, скопируйте её содержимое в поле Цепочка SSL-сертификатов. Если цепочка состоит из двух файлов, введите сначала промежуточный сертификат, а затем с нового абзаца и без пробела — корневой.
    5. Скопируйте содержимое Приватного ключа SSL-сертификата в формате key.
    6. Нажмите кнопку Подключить сертификат. Платформа проверит соответствует ли приватный ключ сертификату. Если проверка прошла успешно, сертификат подключится к серверу. 
  3. Чтобы выпустить и подключить сертификат Let's Encrypt:
    1. Откройте вкладку Let's Encrypt.
    2. Введите Домен сервера с платформой.
    3. Введите E-mail администратора. На этот адрес будут приходить уведомления о статусе сертификата.
    4. Нажмите кнопку Подключить сертификат. Платформа запустит процесс получения сертификата.

Если сертификат подключён успешно, то в строке SSL-сертификат появится значок . В некоторых браузерах требуется обновить страницу, чтобы этот значок появился.

Если выпуск сертификата завершился с ошибкой, то рядом с его именем будет отображаться значок .

Если платформе не удалось автоматически перевыпустить сертификат Let's Encrypt, то в интерфейсе появятся баннеры с предупреждением. Первый баннер появляется за две недели до окончания срока действия сертификата, второй — после окончания срока действия.

Чтобы подключить другой сертификат, нажмите ссылку Переподключить сертификат и введите его данные.

Интерфейс вкладки "Обзор системы"

Чтобы просмотреть информацию о подключённом сертификате, нажмите на ссылку в строке SSL-сертификат.

Пример информации о сертификате

Подключение сертификата через APILink to Подключение сертификата через API


  1. Подключитесь к серверу с платформой по SSH.
  2. Получите токен авторизации:
    curl -k -X POST -H "accept: application/json" -H "Content-Type: application/json" 'https://example.com/api/auth/v4/public/token' -d '{"email": "admin_email", "password": "admin_pass"}'
    CODE

    example.com — доменное имя или IP-адрес сервера с платформой

    admin_email — email администратора платформы

    admin_pass — пароль администратора платформы

    В ответ придёт сообщение вида:

    Пример ответа в JSON

    {
      "confirmed": true,
      "expires_at": null,
      "id": "6",
      "token": "4-e9726dd9-61d9-2940-add3-914851d2cb8a"
    }
    CODE

    Сохраните полученное значение параметра token — токен авторизации.

  3. Выполните команду: 
    curl --insecure -H 'x-xsrf-token: <token>' -X POST https://example.com/nginxctl/v1/ssl -H 'accept: application/json' -H 'Content-Type: application/json'  -d '{"name":"<ssl_name>","certificate":"<ssl_cert>","ca_bundle":"<ssl_bundle>","private_key":"<ssl_private>"}'
    CODE

    <token> — токен авторизации

    example.com — доменное имя или IP-адрес сервера с платформой

    <ssl_name> — имя SSL-сертификата

    <ssl_cert> — открытый ключ SSL-сертификата

    <ssl_bundle> — цепочка SSL-сертификатов. Необязательный параметр

    <ssl_private> — приватный ключ SSL-сертификата

Подключение сертификата Windows Server


Чтобы подключить сертификат, выпущенный Центром сертификации предприятия на Windows Server:

  1. Подключитесь к серверу с платформой по SSH. 
  2. Сформируйте запрос на получение сертификата:
    1. Выполните команду: 
      openssl req -new -newkey rsa:2048 -nodes -keyout ssl.key -out ssl.csr
      BASH
    2. Введите данные для получения сертификата. После ввода данных в текущей директории будут созданы два файла:
      • ssl.csr — файл запроса. Содержимое этого файла понадобится при генерации сертификата в Центре сертификации;
      • ssl.key — закрытый ключ. Содержимое этого файла понадобится при подключении сертификата в платформе.
  3. Выпустите сертификат в интерфейсе Центра сертификации. Подробнее см. в документации Windows Server. Сохраните созданный сертификат в формате Base64.
  4. Подключите сертификат в интерфейсе платформы:
    1. В поле SSL-сертификат вставьте содержимое выпущенного сертификата.
    2. Если вы сохранили цепочку сертификатов, вставьте её содержимое в поле Цепочка SSL-сертификатов.
    3. В поле Приватный ключ SSL-сертификата вставьте содержимое файла ssl.key.

ДиагностикаLink to Диагностика


Логи выпуска сертификатов сохраняются в файл /var/log/nginxctl.log в контейнере input на сервере с платформой.