В этом руководстве Вы узнаете, как установить SSL-сертификат на Heroku. Если Вы еще не подали заявку на получение сертификата, в первой части мы покажем Вам, как сгенерировать CSR-код для Heroku в процессе покупки. Мы также включили несколько полезных советов о том, где купить SSL-сертификат для сервера Heroku.
Оглавление
Генерация CSR на Heroku
CSR (Certificate Signing Request) – это текстовый файл, который Вы должны предоставить Центру сертификации как часть процесса подачи SSL-заявки. В нем содержится необходимая информация о владельце домена и Вашей организации. Если данные CSR не верны или устарели, ЦС не выдаст Ваш сертификат.
Поскольку Вы не можете сгенерировать код CSR непосредственно на Heroku, у Вас есть два альтернативных варианта.
У Вас есть два варианта:
- Вы можете воспользоваться нашим Генератором CSR, который автоматически создаст CSR и закрытый ключ, основываясь на Вашей информации.
- Следуйте нашему пошаговому руководству о том, как сгенерировать 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
- Откройте сертификат
- Выберите нужное приложение из списка, затем выберите Настройки
- Прокрутите страницу вниз и в разделе Домены и сертификаты нажмите на Настроить SSL
- На Вашем экране появится новое окно. Из представленных вариантов выберите Вручную и нажмите Продолжить
- Теперь Вам нужно перетащить объединенный файл сертификата и пакета ЦС в первое поле и нажать кнопку Продолжить
- Во втором поле загрузите файл с Вашим закрытым ключом.
- 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
- Во-первых, Вам нужно создать конечную точку SSL. В приглашении в Вашей локальной среде выполните следующую команду: $ heroku addons:create ssl:endpoint
- Теперь Вам нужно загрузить файл .crt в тот же каталог SSL, где находится Ваше приложение, а затем объединить основной сертификат с сертификатами пакета ЦС в один файл. Чтобы объединить файлы сертификатов, выполните следующую команду: $ cat example.crt bundle.crt > server.crt
- Следующим шагом будет импорт закрытого ключа и сертификата в конечную точку с помощью следующей команды: $ cat example.crt bundle.crt > server.crt
- На выходе Вы увидите детали Вашего SSL-сертификата и имя хоста, выбранное для Вашей конечной точки SSL.
Добавление конечной точки SSL в пример... готово
Пример теперь обслуживается example-2121.herokussl.com.
Детали сертификата:
Истекает по:
Эмитент:
Начинается с:
Примечание: Создание конечной точки может занять до 30 минут (или, в редких случаях, до 2 часов). - Когда Ваша конечная точка будет готова, Вам нужно перенаправить запросы к защищенному домену на имя хоста конечной точки 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