Конфигурация DNS namecheap не работает с https в пользовательском домене Heroku
Я очень смущен тем, как настроить namecheap и heroku, чтобы они работали вместе, чтобы обслуживать пользовательские домены по https.
Я использую heroku ssl beta, к концу конфигурации heroku обновил свою карту домена следующим образом:
myapp.com myapp.com.herokudns.com
www.myapp.com wwww.myapp.com.herokudns.com
Сертификат ssl был успешно добавлен в герою, я знаю его, потому что я могу получить доступ к https://myapp.herokuapp.com
с помощью зеленого замка.
Следующим шагом должно быть изменение DNS namecheap, я последовал за этим учебником
Добавленные мной записи:
CNAME Record www myapp.herokuapp.com
URL Redirect @ https://www.myapp.com
Это должно быть так, но это не работает, как я ожидал.
Если я набираю myapp.com
, он переходит в https://www.myapp.com
(поэтому работает перенаправление), но без замка.
То же самое, если я перейду непосредственно к https://www.myapp.com
.
Я уверен, что это не потому, что изменение еще не вступило в силу, потому что я перепутался с другими доменами, и он уже вступает в силу через 5 минут или около того.
Может кто-нибудь, пожалуйста, скажите мне, в чем проблема?
Ответы
Ответ 1
Я выяснил, что неправильно, после загрузки ssl-сертификата в heroku, я должен прекратить использовать myapp.herokuapp.com
, вместо этого использовать myapp.com.herokudns.com
, поэтому в namecheap DNS config я должен иметь следующее:
CNAME Record @ myapp.com.herokudns.com
CNAME Record www www.myapp.com.herokudns.com
Я не думаю, что перенаправление необходимо (даже в документе Namecheap в нем говорится, что вы не должны устанавливать CNAME на оголенный домен, но должны перенаправлять www вместо). Я попытался использовать URL redirect record www https://myapp.com
для замены записи www CNAME, но это не сработает.
Кроме того, когда я создал сертификат с возможностью шифрования, я только сертифицировал домен myapp.com
, но забыл www.myapp.com
, поэтому, когда доступ к домену www, браузер жалуется, что сертификат находится от myapp.com
, как только я расширил сертификат до www.myapp.com
, с приведенной конфигурацией все домены прекрасно работают с зеленым замком.
Ответ 2
Вы перенаправляетесь на https://www.myapp.com
. Браузер ожидает сертификат для www.myapp.com
, но в соответствии с вашим описанием есть только сертификат для myapp.herokuapp.com
. Поскольку имя хоста в URL-адресе не совпадает с темой сертификата, браузер жалуется на плохой сертификат.
Ответ 3
Ваше решение (используя CNAME для @) в Namecheap работает для https fwding для экземпляров ELB Amazon. Мой домен обслуживается Namecheap. Их рекомендация (некорректная, как вы указали) была связана с URL-адресом https-трафика для моего домена (x.com) для моего экземпляра amazon elb (который имеет мой сертификат ssl для x.com). URL-адрес fwding получает отклоненную ошибку соединения с серверами NameCheap.
Использование CNAME для @отображает красивую зеленую защищенную печать для URL-адресов https. Я также добавил CNAME www к тому же экземпляру amazon elb для трафика, отличного от https.