Бесплатный сертификат безопасности SSL на Heroku?
Я нажал Spree приложение Rails на Heroku, и я вижу его с помощью ssl с https://
и имеет желтый висячий замок в браузере. Нажав на это, вы увидите "Проверка подлинности" и информация о сертификате сообщает "Выпущено:".herokuapp.com
Это здорово. Без настройки или затрат на конец Heroku мое приложение использует SSL с действующим сертификатом. Хорошо, это желтый, а не зеленый замок, но эй, неплохо бесплатно.
Я уверен, что это глупый вопрос... но как я могу запустить другое приложение Rails на Heroku с подтвержденным сертификатом, не заплатив за добавление SSL и покупку собственного сертификата?
Ответы
Ответ 1
Соединение TLS/SSL, установленное вашим браузером, связано с тем, что вы подключаетесь к своему приложению через appname.herokuapp.com. Это стандартно и автоматически будет работать для любого приложения, которое вы создаете из коробки. Heroku обеспечивает шифрование SSL, поскольку вы можете отправлять конфиденциальную информацию на сервер, и лучше использовать шифрование данных, которые вы, возможно, не считаете конфиденциальными, но ваш клиент может. Все авторитетные провайдеры (SAS, веб-хосты, поставщики электронной почты) будут иметь сертификат SSL wildcard
, установленный в базовом домене (*.herokuapp.com), поскольку это единственный сертификат, который относительно недорог и обеспечит безопасность всех поддоменов автоматически.
При этом приложения уже включены в SSL, и к ним можно получить доступ просто с помощью https, например https://appname.herokuapp.com, но вы хотите пойти с SSL endpoint, когда вы хотите установить доверительные отношения с вашими клиентами. Оба способа безопасны, как и другие, но с подстановочным SSL (также называемым общим SSL-сертификатом) доверие устанавливается между клиентом через их браузер и Heroku, а не вашим App/Site. С SSL, подписанным на ваш домен .com, клиенты могут подключаться к вашему домену, а не к поддоку Heroku, и просматривать информацию о вашем сайте в информации о соединении в браузере. Если ваш сайт нуждается в устранении неоднозначности от Heroku, тогда вы захотите продолжить настройку SSL вне стандартного.
Что касается использования типа SSL и эмитента, я бы не рекомендовал https://www.startssl.com/, поскольку они не предлагают SSL с высокой верификацией браузера, поскольку они не полностью подписаны внешний корневой авторитет. Comodo и потребительский стандарт Rapid/GeoTrust - лучший выбор в плане обеспечения, признания и простоты использования и заинтересованности. Вам нужен только SSL (подтвержденный доменом), и они могут быть предоставлены для нескольких доменов в месяц.
Подробнее об этом и настройке SSL Heroku можно найти здесь
Ответ 2
Недавно я потратил некоторое время на это. Это можно сделать, используя CloudFront и прокси-сервер для Heroku. Это, вероятно, лучше всего подходит для небольших проектов, но, похоже, работает до сих пор! Смотрите мой пост здесь:
http://ksylvest.com/posts/2014-05-06/setup-free-ish-ssl-tls-on-heroku-for-ruby-on-rails-or-any-other-framework
Ответ 3
Несколько вещей изменились с момента первого ответа на этот вопрос, в частности, появление Let Encrypt и новых конечных точек SSL Heroku, которые вместе позволяют добавлять SSL бесплатно. Я создал камень для создания и добавления сертификатов автоматически: https://github.com/KMarshland/heroku-ssl. После того, как вы добавили heroku_ssl в свой gemfile, вы можете просто запустить:
rake heroku_ssl:update_certs
В качестве альтернативы, если вы не хотите использовать этот камень, вы можете выполнить эти задачи вручную:
1. Создание сертификата SSL
Следуйте инструкциям в https://github.com/unixcharles/acme-client для создания сертификатов. Вам нужно будет зарегистрировать свой адрес электронной почты, разрешить домен, а затем, наконец, получить свои сертификаты. При авторизации домена, если у вас только один сервер, вы можете просто вставить файл авторизации в свою общую папку; если нет, вам придется либо настроить выделенный контроллер и маршрут, либо добавить текстовую запись в ваш файл зоны DNS.
2. Добавьте сертификат в Heroku
После загрузки сертификатов вы можете использовать веб-интерфейс Heroku или просто запустить
heroku certs:update fullchain.pem privkey.pem
3. Настройте DNS
Вам необходимо установить запись CNAME в файле зоны DNS, который указывает на [yourdomain].herokudns.com. Файл зоны DNS указывает, какие URL-адреса сопоставляются с серверами вашего имени домена. Если ваш сайт уже указал на ваше приложение Heroku, будет уже запись CNAME; вам просто нужно изменить то, на что указывает. Если нет, вам нужно добавить новую строку:
[subdomain] [TTL] IN CNAME [yourdomain].herokudns.com.