Як налаштувати DNS-додаток heroku на Godaddy Domain?


99

Я створив додаток heroku і хочу надати йому домен від godaddy.com.

Я налаштував усі три хости, надані 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) бігати heroku domains:add www.yourdomain.com

4) бігати heroku domains:add yourdomain.com

Це працювало для мене після цих кроків. Сподіваємось, це працює і для вас!

ОНОВЛЕННЯ : речі змінилися, ознайомтеся з цим повідомленням Heroku / GoDaddy: надішліть голий домен на www


1
Гарний пост. Це кінець до кінця того, що тобі потрібно. Я збирався опублікувати це посилання.
adu

1
Я новачок у webdev, тому вибачте, якщо це питання трохи елементарне, але чи зберігати чи видаляти типовий CNAME з псевдонімом wwwта ім'ям хоста @? Редагувати: На жаль, здається, що лише один може існувати.
pqn

1
Станом на лютий 2019 року це не працює, і GoDaddy збереже будь-які збори, які ви сплатили за них, незалежно від того, якщо ви не вимагаєте повернення коштів дуже рано. Heroku зберігає список рекомендованих постачальників послуг DNS. Детальніше про це тут: devcenter.heroku.com/articles/custom-domains
Matt West

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

Здогадуючись, ви, можливо, пропустили перший крок?

ОНОВЛЕННЯ: Після оголошення про звільнення Bamboo EOL proxy.heroku.com (вересень 2014 року) для програм Bamboo, тож тепер вони також повинні використовувати карту yourapp.herokuapp.com.


10
користувацькі домени тепер є основною особливістю, тому жодного кроку встановлення додатків не потрібно.
ob1

8
CNAME слід встановити на "[your app] .herokuapp.com" (для стека Cedar, для використання бамбука "[your app] .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 link використовує той самий підхід.
bebbi

4

Так, багато змін у Heroku. Якщо ви використовуєте дино Heroku для свого веб-сервера, вам доведеться знайти спосіб псевдоніму від одного DNSімені до іншого DNSімені (оскільки кожна кінцева точка DNS Heroku може вирішити багато 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. Героку використовують, www.yourdomain.comякі виступають тут як субдомен. Тож коли ви будете дотримуватися інструкції за замовчуванням для використання, your-domain.comтоді вам потрібно буде призначити їх обоє.

Насправді ми можемо призначити лише голий домен без www.your-domain.com. Використовуйте лише your-domain.comтоді, коли провайдер dns домену (NameServers) підтримує ALIAS або ANAME для запису @ для example.herokuapp.comбез CNAME www.your-domain.comдо нього.

Це дозволить вам вказати www.your-domain.comна інший хостинг окремо (незалежно).


0

Я вказав на не-www 54.243.64.13і www.domain.comна, 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.

Можливо, це не ідеально, але працює.


1
Якщо ви користуєтеся цим рішенням, ваш веб-сайт може періодично закриватися. IP може бути змінено (і він буде), що знищить вашу настройку DNS запису. Вам доведеться робити це кожні 2-3 місяці або після будь-якого відключення в Heroku. Ми мали справу з цим і, нарешті, переходимо до cloudflare або easyDNS, щоб запобігти цьому.
Девід Нельсон
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.