Конфигурация 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.