Новым пользователямБесплатные тарифы DNS и CDN для каждого нового аккаунта.Создать аккаунт

SSL-сертификаты

Загрузите общий SSL-сертификат в аккаунт Shared Hosting для включения HTTPS: преобразование формата и продление.

3 мин на чтение Обновлено 20 окт. 2026 г.

В этом руководстве описано, как установить SSL-сертификат на Shared Hosting, чтобы сайт был доступен по HTTPS.

Как это работает

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

  • Мультидоменный сертификат, в котором все домены перечислены в Subject Alternative Names (SAN), например и example.com, и www.example.com.
  • Wildcard-сертификат, например *.example.com. Маска не охватывает корневой домен example.com, поэтому добавьте его в SAN отдельно.

На момент написания все тарифы Shared Hosting поддерживают SSL-сертификаты.

Подготовка файлов сертификата

Вам понадобятся два фрагмента текста в формате PEM:

ЭлементФормат
SSL-сертификатыНачинается с -----BEGIN CERTIFICATE----- и заканчивается -----END CERTIFICATE-----
Закрытый ключНачинается с -----BEGIN PRIVATE KEY----- или -----BEGIN RSA PRIVATE KEY----- и не должен быть защищён парольной фразой
Совет

Центры сертификации обычно предоставляют сертификат сайта и один или несколько промежуточных сертификатов. Сначала вставьте сертификат сайта, затем все промежуточные сертификаты, чтобы сформировать полную цепочку. Иначе некоторые браузеры и клиенты могут считать сертификат недоверенным.

Преобразование распространённых форматов

Форма не принимает закрытый ключ, начинающийся с -----BEGIN EC PRIVATE KEY----- (типично для сертификатов ECC), или ключ, защищённый парольной фразой. Сначала преобразуйте его в незашифрованный PKCS#8 с помощью OpenSSL:

bash
openssl pkcs8 -topk8 -nocrypt -in original.key -out private.key

Если у вас файл .pfx или .p12, разделите его следующим образом:

bash
openssl pkcs12 -in cert.pfx -clcerts -nokeys -out cert.pem
openssl pkcs12 -in cert.pfx -cacerts -nokeys -out chain.pem
openssl pkcs12 -in cert.pfx -nocerts -nodes -out original.key
openssl pkcs8 -topk8 -nocrypt -in original.key -out private.key
cat cert.pem chain.pem > fullchain.pem

Проверка перед загрузкой

Сервер проверяет, что сертификат и закрытый ключ соответствуют друг другу. Вы можете заранее проверить это самостоятельно:

bash
# Show the domains and expiry date in the certificate
openssl x509 -in fullchain.pem -noout -subject -enddate -ext subjectAltName

# If these two commands print the same hash, the certificate and key match
openssl x509 -in fullchain.pem -noout -pubkey | openssl sha256
openssl pkey -in private.key -pubout | openssl sha256

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

  1. В списке Виртуальный хостинг нажмите Управление для нужного аккаунта хостинга.
  2. Перейдите на вкладку SSL-сертификаты и нажмите Загрузить SSL-сертификат.
  3. Вставьте полную цепочку в SSL-сертификаты, а закрытый ключ — в Закрытый ключ.
  4. Нажмите Загрузить. Сообщение "SSL-сертификат загружен" означает, что сертификат установлен.

Если возникает ошибка, обычно причина одна из следующих:

СообщениеПричина и решение
Введите корректный сертификат / ключ PEMВ тексте отсутствуют строки BEGIN/END или тип ключа не поддерживается. Преобразуйте его, как описано выше
Некорректный сертификат / ключТекст обрезан или содержит лишние символы. Снова скопируйте содержимое целиком
Сертификат и ключ не соответствуют друг другуЭтот ключ не относится к данному сертификату
Тариф не поддерживает SSLSSL не входит в ваш тариф

Проверка HTTPS

После установки сертификата откройте https://your-domain в браузере и убедитесь, что в адресной строке отображается защищённое соединение. Также можно проверить сертификат, возвращаемый сервером, из командной строки:

bash
openssl s_client -connect www.example.com:443 -servername www.example.com </dev/null 2>/dev/null \
  | openssl x509 -noout -subject -enddate
Примечание

На момент написания на вкладке SSL-сертификаты после успешной загрузки всё ещё может отображаться "SSL-сертификат не развёрнут". Ориентируйтесь на сообщение об успешной загрузке и результат реального HTTPS-запроса.

Перенаправление на HTTPS

После установки сертификата сайт принимает запросы и по HTTP, и по HTTPS. Чтобы посетители всегда использовали HTTPS, добавьте перенаправление в приложении. Для сайта на PHP поместите следующий код в начало входного файла:

php
<?php
$isHttps = (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off')
    || (isset($_SERVER['SERVER_PORT']) && (int)$_SERVER['SERVER_PORT'] === 443);
if (!$isHttps) {
    header('Location: https://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'], true, 301);
    exit;
}

Перед добавлением перенаправления убедитесь, что HTTPS работает. Для WordPress и подобных приложений также необходимо изменить адрес сайта в панели администратора на адрес, начинающийся с https://.

Продление

Сертификаты на Shared Hosting не продлеваются автоматически. До истечения срока действия получите новый сертификат в своём центре сертификации и снова загрузите его на вкладке SSL-сертификаты. Новый сертификат заменит старый. Рекомендуется выполнить замену как минимум за две недели до истечения срока действия.

Установка через API

Эту конечную точку использует консоль. {name} — имя аккаунта хостинга, совпадающее с именем пользователя базы данных. Передайте токен входа вместе с запросом:

bash
jq -n --rawfile cert fullchain.pem --rawfile key private.key \
  '{certificate: $cert, certificate_key: $key}' \
| curl -X POST -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \
    https://api.yeap.cloud/api/user/host_shared/vhosts/name/{name}/ssl-full -d @-

Формирование тела запроса с помощью jq сохраняет переносы строк в тексте PEM.

Была ли эта страница полезна?