Как установить SSL-сертификат на Heroku

В этом руководстве Вы узнаете, как установить SSL-сертификат на Heroku. Если Вы еще не подали заявку на получение сертификата, в первой части мы покажем Вам, как сгенерировать CSR-код для Heroku в процессе покупки. Мы также включили несколько полезных советов о том, где купить SSL-сертификат для сервера Heroku.

Оглавление

  1. Генерация CSR на Heroku
  2. Установите SSL-сертификат на Heroku
  3. Где купить SSL-сертификат для Heroku?

Генерация CSR на Heroku

CSR (Certificate Signing Request) – это текстовый файл, который Вы должны предоставить Центру сертификации как часть процесса подачи SSL-заявки. В нем содержится необходимая информация о владельце домена и Вашей организации. Если данные CSR не верны или устарели, ЦС не выдаст Ваш сертификат.

Поскольку Вы не можете сгенерировать код CSR непосредственно на Heroku, у Вас есть два альтернативных варианта.

У Вас есть два варианта:

  1. Вы можете воспользоваться нашим Генератором CSR, который автоматически создаст CSR и закрытый ключ, основываясь на Вашей информации.
  2. Следуйте нашему пошаговому руководству о том, как сгенерировать CSR на Heroku в Вашей локальной среде с помощью OpnSSL, встроенной утилиты в серверы Apache и Nginx.

Затем откройте файл .csr любым текстовым редактором и скопируйте весь текст, включая теги –BEGIN NEW CERTIFICATE REQUEST– и –END NEW CERTIFICATE REQUEST–, и вставьте его в процессе заказа SSL в SSL Dragon.

Теперь Вам нужно подождать, пока ЦС проверит и подтвердит Ваш SSL-запрос. В зависимости от типа сертификата, процесс может занять от пары минут до 7 рабочих дней. Как только Вы получите файлы сертификатов в свой почтовый ящик, продолжите шаги по установке.

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

Раньше, чтобы установить SSL-сертификат на Heroku, Вам нужно было приобрести дополнение SSL Endpoint для Вашего приложения, стоимостью 20 долларов в месяц. Сегодня HerokuSSL, новая бесплатная функция, доступная в платных тарифных планах Heroku, позволяет Вам управлять SSL/TLS-шифрованием для пользовательских доменов.

Конечные точки SSL по-прежнему доступны для совместимости с устаревшими клиентами и браузерами. Ниже Вы найдете инструкции по установке как для Heroku SSL, так и для SSL Endpoint.

Шаг 1. Подготовьте все файлы Ваших SSL-сертификатов

После того, как Центр сертификации подтвердит Ваш SSL-запрос, Вы получите все необходимые файлы в Ваш почтовый ящик. Для успешной установки SSL-сертификата на Heroku Вам понадобятся следующие файлы:

  • Основной файл сертификата, обычно с расширением .crt
  • Файл CA Bundle, содержащий корневой и промежуточный сертификаты
  • Файл закрытого ключа, сгенерированный вместе с CSR на том же сервере

Шаг 2. Объедините Ваши сертификаты

Обратите внимание, что для Heroku Вам необходимо объединить основной сертификат и CA Bundle в один файл.

Вы можете сделать это вручную, открыв файлы .crt и .ca-bundle любым текстовым редактором и вставив содержимое файла .ca-bundle чуть ниже содержимого файла .crt.file. Убедитесь, что между кодами нет пробелов.

В качестве альтернативы, через командную строку, Вы можете объединить файлы с помощью следующей команды:

cat yourcertificate.crt bundle.ca-bundle > server.crt

Шаг 3. Установите свой сертификат

Вы можете установить свой сертификат на HerokuSSL через Dashboard или CLI. Выберите предпочтительный метод.

Через приборную панель Heroku

  1. Откройте сертификат
  2. Выберите нужное приложение из списка, затем выберите Настройки
  3. Прокрутите страницу вниз и в разделе Домены и сертификаты нажмите на Настроить SSL
  4. На Вашем экране появится новое окно. Из представленных вариантов выберите Вручную и нажмите Продолжить
  5. Теперь Вам нужно перетащить объединенный файл сертификата и пакета ЦС в первое поле и нажать кнопку Продолжить
  6. Во втором поле загрузите файл с Вашим закрытым ключом.
  7. Heroku предложит Вам обновить DNS-записи Вашего пользовательского домена/поддомена.

Здесь Вам нужно создать запись CNAME, используя показанные Вам значения.

  • Значение Host (“Имя” и т.д.) – это Ваш домен/субдомен.
  • Значение Target (“Указывает на” и т.д.) – yourdomain/subdomain.herokudns.com.

Пример: yourdomain.com CNAME yourdomain.com.herokudns.com или www.yourdomain.com CNAME www.yourdomain.com.herokudns.com.

После того, как Вы настроили DNS, нажмите на кнопку Я сделал это, а затем нажмите на кнопку Продолжить. Обратите внимание, что может пройти некоторое время, прежде чем DNS обновится глобально.

Поздравляю, теперь Ваш домен защищен SSL-сертификатом.

Через Heroku CLI

Используйте следующую команду, чтобы загрузить комбинированный сертификат плюс файл CA Bundle и закрытый ключ:

heroku certs:add server.crt server.key

Если приложение Heroku не установлено по умолчанию, Вам необходимо указать его с помощью флага -app. Вот команда для этого:

heroku certs:add server.crt server.key --app yourappname.

Проверьте, установлен ли правильный сертификат:

heroku certs:info

Примечание: Если при загрузке сертификата Вы получаете сообщение “Внутренняя ошибка сервера”, причина может заключаться в устаревшей версии Heroku CLI. Чтобы исправить ошибку, Вам нужно обновить версию CLI.

Шаг 4. Установите SSL-сертификат на конечной точке SSL

  1. Во-первых, Вам нужно создать конечную точку SSL. В приглашении в Вашей локальной среде выполните следующую команду: $ heroku addons:create ssl:endpoint
  2. Теперь Вам нужно загрузить файл .crt в тот же каталог SSL, где находится Ваше приложение, а затем объединить основной сертификат с сертификатами пакета ЦС в один файл. Чтобы объединить файлы сертификатов, выполните следующую команду: $ cat example.crt bundle.crt > server.crt
  3. Следующим шагом будет импорт закрытого ключа и сертификата в конечную точку с помощью следующей команды: $ cat example.crt bundle.crt > server.crt
  4. На выходе Вы увидите детали Вашего SSL-сертификата и имя хоста, выбранное для Вашей конечной точки SSL.
    Добавление конечной точки SSL в пример... готово
    Пример теперь обслуживается example-2121.herokussl.com.
    Детали сертификата:
    Истекает по:
    Эмитент:
    Начинается с:


    Примечание: Создание конечной точки может занять до 30 минут (или, в редких случаях, до 2 часов).
  5. Когда Ваша конечная точка будет готова, Вам нужно перенаправить запросы к защищенному домену на имя хоста конечной точки Heroku. Если Вы еще не добавили домен в свое приложение, выполните следующую команду, чтобы сделать это сейчас:$ heroku domains:add www.example.comAddingwww.example.com to example… doneЧтобы перенаправить запросы на имя хоста конечной точки, создайте запись CNAME. Не забудьте заменить слово “пример” на соответствующую информацию
  • Тип записи – CNAME
  • Имя – www
  • Цель – example-2121.herokussl.com
    Для сертификатов Wildcard создайте аналогичную запись:
  • Тип записи – CNAME
  • Имя – *
  • Цель – example-2121.herokussl.com

Если Вы установите запись CNAME для корневого (@) домена, она перезапишет все остальные записи, которые Вы установили для этого домена. Чтобы создать CNAME для поддомена, Ваш сертификат должен охватывать этот поддомен (www.example.com, subdomain.example.com, *.example.com).

Вы можете установить сертификат, выданный для “голого” домена (example.com), только если Ваш DNS-провайдер предлагает CNAME-подобную функциональность в вершине зоны.

При покупке SSL-сертификата обратите пристальное внимание на его характеристики. Некоторые сертификаты не поддерживают функцию “www” и без нее.

На этом установка SSL в Heroku завершена. Всегда стоит проверить Ваш SSL-сертификат на возможные ошибки сразу после настройки. Используйте эти превосходные инструменты SSL для получения мгновенных отчетов о состоянии и предупреждений об уязвимостях.

Где купить SSL-сертификат для Heroku?

При покупке SSL-сертификата Вам следует обратить внимание на три важнейших аспекта: тип валидации, цена и безупречное обслуживание клиентов. В SSL Dragon мы поставляем их все! Наши SSL-сертификаты подписаны известными центрами сертификации, поэтому они совместимы с большинством облачных платформ, включая Heroku. Нужен ли Вам дешевый сертификат Domain Validation или премиальный продукт Extended Validation, мы позаботимся о Вас.

Цены SSL Dragon являются самыми конкурентоспособными на рынке, а наша специализированная служба поддержки высоко ценится существующими клиентами. Если Вы не знаете, какой тип SSL-сертификата выбрать, просто воспользуйтесь нашими инструментами SSL Wizard и Certificate Filter. Они помогут Вам подобрать идеальный SSL-продукт для Вашего сайта.

Если Вы обнаружили какие-либо неточности или у Вас есть что добавить к этим инструкциям по установке SSL, пожалуйста, не стесняйтесь присылать нам свои отзывы по адресу [email protected]. Ваш вклад будет очень признателен! Спасибо.

Сэкономьте 10% на SSL-сертификатах при заказе сегодня!

Быстрая выдача, надежное шифрование, 99,99% доверия к браузеру, специализированная поддержка и 25-дневная гарантия возврата денег. Код купона: SAVE10

Написано

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