Как настроить голое доменное имя для работы с использованием конечной точки SSL Heroku?

Недавно я добавил функциональность SSL в приложение Rails, работающее на Heroku. Я успешно приобрел и создал сертификат для своего домена и, используя CNAME в GoDaddy, субдомен WWW моего приложения работает правильно, когда пользователь заходит на сайт www.myappname.com.

Страница загружается без каких-либо предупреждений, и сертификат работает как положено.

CNAME выглядит примерно так:host: wwwуказывает на: myappnamefoobar-1234.herokussl.com

Однако, когда я просто захожу на "голое" доменное имя - myappname.com, возникает ошибка сертификата.

Как настроить параметры DNS в GoDaddy, чтобы это работало?

https://devcenter.heroku.com/articles/avoiding-naked-domains-dns-arecords

В документах Heroku есть целая статья о голых доменах, но я не понимаю, как это применимо к DNS-менеджеру GoDaddy.

Я знаю, что у Heroku есть своего рода SSL на основе IP, который стоит 100 долларов в месяц, но есть ли другой способ сделать это?

2 ответа

Корневые домены на Heroku требуют использования записей ALIAS ANAME или FLATTENING.

К сожалению, ряд популярных DNS-хостов, таких как GoDaddy, Bluehost, Google Domains, OVH, Hostinger и другие, не поддерживают эти типы записей. Многие из этих поставщиков скажут вам, что не существует таких вещей, как записи ALIAS, ANAME или FLATTENING Records, и многие из этих поставщиков, однако, посоветуют вам вместо этого установить запись A;

Записи A не работают с Heroku для маршрутизации. Записи A требуют статических IP-адресов, а статические IP-адреса не работают с Heroku для маршрутизации, поскольку Heroku (и многие другие облачные платформы) используют динамические IP-адреса.

Альтернативные варианты Если ваш DNS-провайдер не позволяет вам устанавливать записи ALIAS, ANAME или FLATTENING, у вас есть несколько вариантов заставить ваши домены работать с Heroku.

1. Не используйте корневой домен. Это самое простое решение. Корневые домены технически не нужны, если у вас есть собственный домен с настроенным поддоменом. Например, у вас есть сайт с двумя доменами; корневой домен example.com и поддомен . В этом случае, пока у вас настроен , example.com не нужен, поскольку пользователи могут попасть на ваш сайт через , а для настройки вам необходимо использовать CNAME. Записи, которые разрешено устанавливать всем DNS-провайдерам.

2. Перенаправление/переадресация корневого домена на поддомен. Многие пользователи предпочитают перенаправлять трафик со своего корневого домена на поддомен, например: перенаправить/переслать example.com > www.example.comwww.example.comwww.example.comwww.example.comwww.example.com .

Однако: опция перенаправления/пересылки URL-адресов работает только для запросов без SSL. Это значит, что:

Запросы к http://example.com будут успешно перенаправлены. Запросы к https://example.com завершатся ошибкой SSL.

3. Используйте альтернативного поставщика DNS. Ниже приведены поставщики DNS, которые позволяют устанавливать записи ALIAS ANAME или FLATTENING. У многих из этих DNS-провайдеров есть руководства по работе с Heroku. Например, используя Flattening с Cloudflare.

DNSimple DNS Made Easy/Constellix easyDNS PointDNS namecheap Gandi.net Cloudflare — Примечание. Cloudflare использует выравнивание CNAME. Это то же самое, что запись ALIAS или ANAME.

Я не думаю, что это возможно. В наши дни Heroku категорически не одобряет домены на основе IP, надстройка SSL на основе IP сейчас устарела, но конечная точка SSL не работает с IP, поэтому может показаться, что они уходят от его поддержки.

Случайное взаимозависимое чтение: 46 МБ / с 83,384 нс

Тестирование памяти (256 МБ):

Последовательное чтение: 3346 МБ / с 1.140 нс

Последовательная запись: 1741 МБ / с 2.190 нс

Случайное чтение: 79 МБ / с 48.280 нс

Случайная запись: 86 МБ / с 44,242 нс

Случайное взаимозависимое чтение: 28 МБ / с 137,046 нс

Другие вопросы по тегам