1/23/19 อัปเดต:
ทุกอย่างเปลี่ยนไปเล็กน้อย (เพื่อที่ดีกว่า) ตั้งแต่คำตอบสุดท้ายของฉัน คำตอบที่อัปเดตนี้จะแสดงวิธีกำหนดค่า:
- รูตเอเพ็กซ์ (example.com)
- โดเมนย่อย (www.example.com)
- HTTPS (เป็นทางเลือก แต่สนับสนุนอย่างยิ่ง)
ในท้ายที่สุดคำขอทั้งหมดexample.com
จะถูกนำไปที่https://www.example.comอีกครั้ง(หรือ http: // หากคุณเลือกที่จะไม่ใช้ HTTPS) ฉันใช้www
เป็นท่าสุดท้ายเสมอ ทำไม ( 1 , 2 ) สำหรับการสนทนาอื่น
คำตอบนี้ยาว แต่ก็ไม่ซับซ้อน ฉันได้รับความกระจ่างอย่างชัดเจนเนื่องจากเอกสาร GitHub ในหัวข้อนี้ไม่ชัดเจนหรือเป็นเส้นตรง
ขั้นตอนที่ 1: เปิดใช้งานหน้า GitHub ในการตั้งค่า GitHub
- จาก repo ของคุณคลิกที่แท็บ
- เลื่อนลงไปที่
GitHub Pages
ส่วน คุณมีสองทางเลือก:
- เลือก
master branch
จะถือว่าเป็นเว็บของคุณ/README.md
index.html
เลือกmaster branch /docs folder
จะถือว่าเป็นเว็บของคุณ/docs/README.md
index.html
- เลือกชุดรูปแบบ
- รอสักครู่ในขณะที่ GitHub เผยแพร่เว็บไซต์ของคุณ ตรวจสอบว่าใช้งานได้โดยคลิกที่ลิงค์ถัดจาก
Your site is ready to be published at
ขั้นตอนที่ 2: ระบุโดเมนที่กำหนดเองในการตั้งค่า GitHub
ป้อนชื่อโดเมนที่กำหนดเองของคุณที่นี่และกดsave
:
นี่เป็นขั้นตอนที่บอบบาง แต่สำคัญ
- หากโดเมนที่กำหนดเองที่คุณเพิ่มไปยังไซต์ GitHub Pages ของคุณ
example.com
นั้นwww.example.com
จะถูกเปลี่ยนเส้นทางไปexample.com
- หากโดเมนที่กำหนดเองที่คุณเพิ่มเว็บไซต์ GitHub หน้าของคุณอยู่
www.example.com
แล้วจะเปลี่ยนเส้นทางไปexample.com
www.example.com
ดังกล่าวก่อนที่ผมขอแนะนำให้ลงจอดที่เสมอwww
ดังนั้นผมเข้าwww.example.com
เป็นภาพข้างบน
ขั้นตอนที่ 3: สร้างรายการ DNS
ในคอนโซลเว็บของผู้ให้บริการ DNS ของคุณให้สร้างสี่A
ระเบียนและอีกหนึ่งCNAME
รายการ
A
บันทึกสำหรับ@
(aka apex root):
บางผู้ให้บริการ DNS จะมีคุณระบุ@
อื่น ๆ (เช่น AWS เส้นทาง 53) คุณจะปล่อยให้ว่างเปล่าโดเมนย่อย@
เพื่อบ่งชี้ ไม่ว่าในกรณีใด ๆเหล่านี้คือA
บันทึกที่จะสร้าง:
185.199.108.153
185.199.109.153
185.199.110.153
185.199.111.153
- สร้าง
CNAME
ระเบียนชี้ www.example.com YOUR-GITHUB-USERNAME.github.io
ไปยัง
นี่คือส่วนที่สับสนที่สุด
หมายเหตุYOUR-GITHUB-USERNAME
ไม่ใช่ชื่อ repo ของ GitHub! ค่าของYOUR-GITHUB-USERNAME
ถูกกำหนดโดยแผนภูมินี้
สำหรับไซต์หน้าผู้ใช้ (ส่วนใหญ่เป็นสิ่งที่คุณเป็น) CNAME
รายการจะเป็นusername.github.io
เช่น:
สำหรับไซต์เพจขององค์กรCNAME
รายการจะเป็นorgname.github.io
เช่น:
ขั้นตอนที่ 5: ยืนยันรายการ DNS
ยืนยันการบันทึกโดยการทำงานA
dig +noall +answer example.com
ควรส่งคืนที่185.x.x.x
อยู่ IP สี่รายการที่คุณป้อน
ยืนยันของคุณบันทึกโดยการทำงานCNAME
dig www.example.com +nostats +nocomments +nocmd
มันควรจะกลับCNAME YOUR-GITHUB-USERNAME.github.io
อาจใช้เวลาหนึ่งชั่วโมงหรือมากกว่านั้นสำหรับรายการ DNS เหล่านี้ในการแก้ไข / เผยแพร่ เมื่อเสร็จแล้วให้เปิดเบราว์เซอร์ของคุณhttp://example.com
และควรนำไปที่http://www.example.com
ขั้นตอนที่ 6: การกำหนดค่า SSL (HTTPS) ไม่บังคับ แต่แนะนำเป็นอย่างยิ่ง
หลังจากที่คุณทำงานในโดเมนที่กำหนดเองแล้วให้กลับไปที่การตั้งค่า repo หากคุณเปิดหน้าการตั้งค่าอยู่ให้รีเฟรชหน้าอย่างหนัก
หากมีข้อความใต้Enforce HTTPS
ช่องทำเครื่องหมายระบุว่ายังคงดำเนินการอยู่คุณจะต้องรอ คุณอาจต้องกดsave
ปุ่มในCustom domain
ส่วนเพื่อเริ่มการEnforce HTTPS
ประมวลผล
เมื่อการประมวลผลเสร็จสิ้นควรมีลักษณะดังนี้:
เพียงคลิกที่ช่องทำเครื่องหมายและเบราว์เซอร์ของคุณเพื่อEnforce HTTPS
https://example.com
ควรเปิดใหม่และเปิดอีกครั้งhttps://www.example.com
แค่นั้นแหละ!
GitHub จะอัปเดต HTTPS ของคุณโดยอัตโนมัติและควรจัดการ apex เพื่อwww
เปลี่ยนเส้นทางผ่าน HTTPS
หวังว่านี่จะช่วยได้ !!
...
คำตอบเก่า (ก่อน 1/23/19) คำตอบ
ดังนั้นฉันจึงคิดออก James McLaughlinให้จังหวะที่ฉันต้องการ
ในการตั้งค่าโดเมนที่กำหนดเองสำหรับ repo หน้าโครงการ gh-pages ที่จัดการ www.yourdomain.com และ yourdomain.com (สมมติว่าคุณมีสาขา gh-page ใน repo ของคุณอยู่แล้ว):
- จาก repo โครงการของคุณสาขา gh-pages สร้างไฟล์ CNAME
yourdomain.com
กับเนื้อหา กระทำแล้วดัน
- ในตัวจัดการ DNS ของคุณให้ตั้งค่าสอง
cname
ระเบียน หนึ่งรายการสำหรับรูต apex (@) และอีกรายการสำหรับ www YOURusername.github.io
ทั้งชี้ไปที่ หากผู้ให้บริการ DNS ของคุณไม่สนับสนุนALIAS
บันทึกบนรูตเอเพ็กซ์ (@) เพียงแค่สร้างA
ระเบียนที่ชี้ไปที่192.30.252.153
และ192.30.252.154
รอจนกว่าเซิร์ฟเวอร์ชื่อของคุณจะได้รับการอัปเดต:
dig yourdomain.com +nostats +nocomments +nocmd