Как правильно добавить домен в Heroku

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

Допустим, я купил домен example.com. Поскольку система DNS является иерархической, теперь мне принадлежат все поддомены example.com, такие как a.example.com, b.example.com и a.b.c.example.com. Итак, для каждого нового проекта, который я хочу развернуть, я смогу выделить домен projectname.example.com.

Чтобы реализовать это право собственности, мне предоставляется доступ к записи NS в реестре домена .com через регистратор, поэтому я могу установить DNS-сервер, ответственный за разрешение моего домена. По умолчанию это будет сервер, который мне предоставил регистратор.

Когда я развертываю приложение в облаке, я получаю URL-адрес, например project1.heroku.com. Чтобы перенаправить трафик, я могу просто создать записи CNAME или ALIAS с project1.example.com на project1.heroku.com

. Но согласно документации Heroku, мне нужно добавить домен к heroku, а затем создать запись CNAME. на URL, который мне будет предоставлен после этого. Почему это так и почему не работает нормальный URL? Или я действительно чего-то не понимаю?

2
задан 27 December 2020 в 16:00
1 ответ

Это очень распространенное заблуждение. CNAME не выполняет перенаправление HTTP и не создает псевдоним для веб-сервера. Это просто говорит о том, что запись DNS A может быть найдена в другом месте.

Веб-сервер получает исходное имя хоста в адресной строке браузера только через заголовок Host. Веб-сервер не имеет никакого соединения с инфраструктурой DNS, т. е. вообще не проверяет записи CNAME. Следовательно, веб-сервер должен знать имя хоста (т. е. настроенное свойство), чтобы обслуживать правильный контент (виртуальный хост).

4
ответ дан 27 December 2020 в 13:10

Теги

Похожие вопросы