Как настроить DNS приложения heroku на домен Godaddy?

99

Я создал приложение heroku и хочу передать ему домен от godaddy.com.

Я настроил все три хоста, предоставленные heroku, но теперь получаю сообщение об ошибке:

Heroku | Нет такого приложения

На этом имени хоста нет настроенного приложения.

Возможно, владелец приложения переименовал его или вы неправильно ввели URL-адрес.

Я хочу знать: есть ли другой способ настроить приложение heroku?

ОБНОВЛЕНО: Новый подход Используйте эту ссылку для нового подхода . Принятый ответ - старая функция.

Арпит Вайшнав
источник

Ответы:

74

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

Примечание: пропустите часть о CNAME yourdomain.com.(обратите внимание на .) иheroku addons:add "custom domains"

http://blog.heroku.com/archives/2009/10/7/heroku_casts_setting_up_custom_domains/


Подведем итоги видео:

1) на GoDaddy и создайте CNAME с

Alias Name: www
Host Name: proxy.heroku.com

2) убедитесь, что ваш домен распространяется, набрав host www.yourdomain.comв командной строке

3) run (беги) heroku domains:add www.yourdomain.com

4) run (беги) heroku domains:add yourdomain.com

После этих шагов у меня все заработало. Надеюсь, это сработает и для вас!

ОБНОВЛЕНИЕ : все изменилось, посмотрите этот пост Heroku / GoDaddy: отправьте голый домен на www

Александр
источник
1
Хороший пост. Это все, что вам нужно. Я собирался опубликовать эту ссылку.
аду
1
Я новичок в webdev, извините, если этот вопрос немного прост, но могу ли я сохранить или удалить CNAME по умолчанию с псевдонимом wwwи именем хоста @? Изменить: Ой, похоже, может существовать только один.
pqn
1
По состоянию на февраль 2019 года это не работает, и GoDaddy будет удерживать любые уплаченные вами сборы, если вы не потребуете возмещение в самом начале. Heroku действительно ведет список рекомендуемых DNS-провайдеров. Подробнее об этом здесь: devcenter.heroku.com/articles/custom-domains
Мэтт Уэст
83

Вам нужно выполнить 2 шага:

  1. Добавьте надстройку пользовательских доменов и добавьте домен, который вы собираетесь использовать, например www.mywebsite.com, в свое приложение.
  2. Перейдите в панель управления регистратора домена и установите www.mywebsite.com в качестве записи CNAME для yourapp.herokuapp.com, если вы используете стек CEDAR.
  3. Есть третий шаг, если вы хотите использовать голый домен, например mywebsite.com, когда вам нужно будет добавить IP-адреса балансировщиков нагрузки Heroku в свой DNS для mywebsite.com.

Вы можете узнать больше об этом на http://devcenter.heroku.com/articles/custom-domains

Думаете, вы пропустили первый шаг?

ОБНОВЛЕНИЕ: после объявления об упразднении EOL proxy.heroku.com (сентябрь 2014 г.) для приложений Bamboo, теперь они также должны использовать отображение yourapp.herokuapp.com.

Джон Бейнон
источник
10
пользовательские домены теперь являются основной функцией, поэтому установка дополнений не требуется.
ob1 04
8
CNAME должен быть установлен на «[ваше приложение] .herokuapp.com» (для стека Cedar, для использования бамбука «[ваше приложение] .heroku.com»)
ob1
13
@JohnBeynon По-прежнему стоит отредактировать ваш ответ, поскольку люди приходят сюда из Google. кашель
Джош Смит
3
Если вам нужно перенаправить ваш голый домен (example.com) в приложение heroku, вы можете использовать wwwizer.com/naked-domain-redirect
Габриэль Себриан
1
Обратите внимание, что с 22 сентября 2014 года Heroku поддерживает только поддержку [yourapp].herokuapp.com. Поддержка устаревшего стека маршрутизации [yourapp].heroku.comбудет прекращена.
Габриэль Осорио
16

Хитрость в том, чтобы

  1. создать CNAME для www.myapp.com на myapp.heroku.com
  2. создать 301 перенаправление с myapp.com на www.myapp.com
Джонатан Рой
источник
4
Я получаю 404 по этой ссылке. Ссылка shaks использует тот же подход.
bebbi
4

Да, много изменений на Heroku. Если вы используете для своего веб-сервера дино Heroku, вам нужно найти способ для псевдонима от одного DNSимени к другому DNS(поскольку каждая конечная точка Heroku DNS может разрешать множество IP-адресов для динамической адаптации к загрузке запросов).

CNAMEЗапись для наложения www.example.com->www.example.com.herokudns.com.

Вы не можете использовать CNAMEдля «голого» домена ( @), т.е. example.com(если вы не найдете сервер имен, который может это сделать CNAME Flattening- что я и сделал).

Но на самом деле самое простое решение, которое может в значительной степени заботиться о всех в вашем аккаунте GoDaddy, чтобы создать CNAME recordчто делает это: www.example.com -> www.example.com.herokudns.com.

А затем создайте постоянное перенаправление 301 с example.comна www.example.com.

Для этого требуется только один Heroku пользовательских доменное имя , сконфигурированный в настройках приложения Heroku: www.example.com.herokudns.com. @Jonathan Roy говорит об этом (выше), но дает плохую ссылку.

БойсеЗапеченный
источник
2

Вы не можете использовать голый домен, your-domain.comесли он не перенаправлен на www.your-domain.com. Heroku использует тот, www.yourdomain.comкоторый действует здесь как поддомен. Поэтому, когда вы будете следовать инструкции по умолчанию,your-domain.com вам нужно будет назначить их обоих.

Фактически мы можем назначить только голый домен без расширения www.your-domain.com. Используйте только в том your-domain.comслучае, если поставщик DNS домена (NameServers) поддерживает ALIAS или ANAME для @ Record example.herokuapp.comбез CNAME www.your-domain.comдля него.

Это позволит вам указывать www.your-domain.comна другой хостинг отдельно (независимый).

Четабахана
источник
0

Я указал на не-www 54.243.64.13и на www.domain.comthe, alias.herokuapp.comи все работало хорошо.

Нашел IP только после того, как указал www.domain.comи затем запустил команду dig на, www.domain.comи он показал:

;; ANSWER SECTION:
www.domain.com. 14400  IN      CNAME   aliasat.herokuapp.com.
aliasat.herokuapp.com. 300 IN CNAME us-east-1-a.route.herokuapp.com.
us-east-1-a.route.herokuapp.com. 60 IN  A       54.235.186.37

;; AUTHORITY SECTION:
herokuapp.com.          900     IN      NS      ns-1378.awsdns-44.org.
herokuapp.com.          900     IN      NS      ns-1624.awsdns-11.co.uk.
herokuapp.com.          900     IN      NS      ns-505.awsdns-63.com.
herokuapp.com.          900     IN      NS      ns-662.awsdns-18.net.

Может быть, не идеально, но сработало.

islandnet.com Веб-хостинг
источник
1
Если вы воспользуетесь этим решением, ваш веб-сайт может периодически отключаться. IP может быть изменен (и это произойдет), что убьет вашу настройку DNS записи A. Вам придется делать это каждые 2-3 месяца или после сбоя в работе Heroku. Мы занимались этим и, наконец, перешли на cloudflare или easyDNS, чтобы предотвратить это.
Дэвид Нельсон