จะกำหนดค่า DNS ของแอปพลิเคชัน heroku เป็นโดเมนของ Godaddy ได้อย่างไร


99

ฉันได้สร้างแอปพลิเคชัน heroku และต้องการให้โดเมนจาก godaddy.com

ฉันได้กำหนดค่าโฮสต์ทั้งสามที่ให้โดย heroku แต่ตอนนี้ฉันได้รับข้อผิดพลาดว่า:

Heroku | ไม่มีแอปดังกล่าว

ไม่มีแอปที่กำหนดค่าไว้ที่ชื่อโฮสต์นั้น

บางทีเจ้าของแอปอาจเปลี่ยนชื่อหรือคุณพิมพ์ URL ผิด

ฉันต้องการทราบ: มีวิธีอื่นในการกำหนดค่าแอป heroku หรือไม่?

UPDATED: วิธีการใหม่ โดยใช้การเชื่อมโยงนี้สำหรับวิธีการใหม่ คำตอบที่ยอมรับคือฟีเจอร์เก่า

คำตอบ:


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
โพสต์ที่ดี นี่คือสิ้นสุดสิ่งที่คุณต้องการ ฉันกำลังจะโพสต์ลิงค์นี้
เม.ย.

1
ฉันเพิ่งเริ่มใช้ webdev ขออภัยหากคำถามนี้เป็นคำถามพื้นฐานเล็กน้อย แต่ฉันจะเก็บหรือลบ CNAME เริ่มต้นที่มีนามแฝงwwwและชื่อโฮสต์@หรือไม่ แก้ไข: อ๊ะดูเหมือนจะมีเพียงหนึ่งเดียวเท่านั้น
pqn

1
ในเดือนกุมภาพันธ์ 2019 จะใช้ไม่ได้และ GoDaddy จะเก็บค่าธรรมเนียมใด ๆ ที่คุณจ่ายไปไม่ว่าคุณจะเรียกร้องเงินคืนในช่วงต้น Heroku เก็บรายชื่อผู้ให้บริการ DNS ที่แนะนำ เพิ่มเติมได้ที่นี่: devcenter.heroku.com/articles/custom-domains
Matt West

83

มี 2 ​​ขั้นตอนที่คุณต้องดำเนินการ

  1. เพิ่มโดเมนที่กำหนดเอง addon และเพิ่มโดเมนที่คุณจะใช้เช่น 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 ของ Bamboo กำลังจะหยุดให้บริการ (กันยายน 2014) สำหรับแอปพลิเคชัน Bamboo ดังนั้นตอนนี้ควรใช้การทำแผนที่ yourapp.herokuapp.com ด้วยเช่นกัน


10
โดเมนที่กำหนดเองกลายเป็นคุณลักษณะหลักแล้วดังนั้นจึงไม่มีขั้นตอนการติดตั้งส่วนเสริม
ob1

8
CNAME ควรตั้งค่าเป็น "[แอปของคุณ] .herokuapp.com" (สำหรับกองไม้ซีดาร์สำหรับไม้ไผ่ "[แอปของคุณ] .heroku.com")
ob1

13
@JohnBeynon ยังคงคุ้มค่าที่จะแก้ไขคำตอบของคุณเนื่องจากผู้คนมาที่นี่จาก Google ไอ
Josh Smith

3
หากคุณต้องการเปลี่ยนเส้นทางโดเมนเปล่า (example.com) ไปยังแอป heroku ของคุณคุณสามารถใช้wwwizer.com/naked-domain-redirect
Gabriel Cebrian

1
โปรดคำนึงว่าการเริ่มต้น22 กันยายน 2014 , Heroku [yourapp].herokuapp.comเป็นเพียงการสนับสนุน การสนับสนุนสแต็กการกำหนดเส้นทางเดิม[yourapp].heroku.comจะหายไป
Gabriel Osorio

16

เคล็ดลับคือการ

  1. สร้าง CNAME สำหรับ www.myapp.com ไปที่ myapp.heroku.com
  2. สร้างการเปลี่ยนเส้นทาง 301 จาก myapp.com ไปยัง www.myapp.com

4
ฉันได้รับ 404 สำหรับลิงก์นั้น ลิงก์ shaks ใช้วิธีการเดียวกัน
bebbi

4

ใช่การเปลี่ยนแปลงมากมายที่ Heroku หากคุณใช้ Heroku dyno สำหรับเว็บเซิร์ฟเวอร์ของคุณคุณต้องหาวิธีเปลี่ยนชื่อแทนจากDNSชื่อหนึ่งไปยังอีกDNSชื่อหนึ่ง(เนื่องจากจุดสิ้นสุด Heroku DNS แต่ละจุดอาจแก้ไขเป็น IP addrs จำนวนมากเพื่อปรับเปลี่ยนเพื่อขอโหลดแบบไดนามิก

CNAMEบันทึกสำหรับ aliasing www.example.com->www.example.com.herokudns.com.

คุณไม่สามารถใช้CNAMEสำหรับโดเมนเปล่า ( @) นั่นคือexample.com(เว้นแต่คุณจะพบเนมเซิร์ฟเวอร์ที่สามารถทำได้CNAME Flattening- ซึ่งเป็นสิ่งที่ฉันทำ)

แต่จริงๆทางออกที่ง่ายที่สุดที่สวยมากสามารถได้รับการดูแลทั้งหมดในบัญชี GoDaddy ของคุณคือการสร้างที่ไม่นี้:CNAME recordwww.example.com -> www.example.com.herokudns.com

และสร้างถาวร 301 เปลี่ยนเส้นทางจากไปexample.comwww.example.com

เรื่องนี้ต้องมีเพียงหนึ่ง Heroku ชื่อโดเมนที่กำหนดเองการกำหนดค่าในการตั้งค่า app Heroku www.example.com.herokudns.comของคุณ: @ โจนาธานรอยพูดถึงสิ่งนี้ (ด้านบน) แต่ให้ลิงก์ที่ไม่ดี


2

คุณไม่สามารถใช้โดเมนเปล่าyour-domain.comหากไม่ได้เปลี่ยนเส้นทางไปยังwww.your-domain.com. Heroku ใช้www.yourdomain.comซึ่งทำหน้าที่ที่นี่เป็นโดเมนย่อย ดังนั้นเมื่อคุณทำตามคำแนะนำเริ่มต้นเพื่อใช้งานyour-domain.comคุณจะต้องกำหนดทั้งสองอย่าง

เราสามารถกำหนดเฉพาะโดเมนเปล่าโดยไม่มีwww.your-domain.com. ใช้เฉพาะyour-domain.comเมื่อโดเมนของผู้ให้บริการ DNS (เซิร์ฟเวอร์) สนับสนุนนามแฝงหรือ 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 ระเบียน A ของคุณ คุณจะต้องทำทุก 2-3 เดือนหรือหลังจากไฟดับที่ Heroku เราจัดการกับปัญหานี้แล้วและในที่สุดก็ย้ายไปที่ cloudflare หรือ easyDNS เพื่อป้องกันปัญหานี้
David Nelson
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.