Saya memiliki gh-pages
cabang di salah satu repos http://github.com saya . Halaman proyek GitHub berfungsi dengan baik jika saya mengunjungi http://myuser.github.com/myrepo
Saya ingin menyiapkan domain khusus (myexample.com) yang akan menyajikan halaman proyek ini. Saya ingin keduanya myexample.com
dan www.myexample.com
untuk melayani halaman proyek ini.
Halaman GitHub membantu mengatakan membuat catatan A dan catatan CNAME di DNS Anda. Catatan A masuk akal, tapi saya tidak tahu catatan CNAME apa yang harus dibuat di DNS saya.
The gh-pages
docs mengatakan untuk membuat CNAME
rekor 'charlie.github.com' yang merupakan halaman pengguna repositori. Saya tidak punya repositori halaman pengguna - Saya hanya punya repositori proyek dan gh-pages
cabang yang ingin saya gunakan untuk myexample.com
dan www.myexample.com
.
Apakah saya perlu membuat repositori halaman pengguna supaya saya bisa menggunakan halaman proyek saya untuk www.myexample.com dan myexample.com?
Saya hanya akan mencobanya, tetapi saya ingin memastikan ini akan berhasil karena saya sudah memiliki www.myexample.com langsung dan tidak ingin membuat kesalahan.
Saya mengirim email dukungan GitHub dan tanggapan mereka
Anda tidak dapat memiliki keduanya mengarah ke halaman gh yang sama sejauh yang saya tahu.
Saya merasa sulit untuk percaya bahwa mereka hanya akan mendukung catatan A untuk halaman proyek.
Adakah yang berhasil melakukan ini sebelumnya?
Jawaban:
1/23/19 PEMBARUAN:
Banyak hal telah berubah (menjadi lebih baik) sejak jawaban terakhir saya. Jawaban yang diperbarui ini akan menunjukkan kepada Anda cara mengkonfigurasi:
Pada akhirnya, semua permintaan untuk
example.com
akan diarahkan kembali ke https://www.example.com (atau http: // jika Anda memilih TIDAK untuk menggunakan HTTPS). Saya selalu menggunakanwww
sebagai pendaratan terakhir saya. Mengapa ( 1 , 2 ), untuk diskusi lain.Jawaban ini panjang tetapi tidak rumit. Saya menggunakan kejelasan karena dokumen GitHub tentang topik ini tidak jelas atau linear.
Langkah 1: Aktifkan halaman GitHub dalam pengaturan GitHub
GitHub Pages
bagian tersebut. Anda memiliki dua opsi:master branch
akan diperlakukan/README.md
sebagai web Andaindex.html
. Memilihmaster branch /docs folder
akan diperlakukan/docs/README.md
sebagai web Andaindex.html
.Your site is ready to be published at
Langkah 2: Tentukan domain khusus di pengaturan GitHub
Masukkan nama domain khusus Anda di sini dan tekan
save
:Ini adalah langkah yang halus, tetapi penting.
example.com
, makawww.example.com
akan dialihkan keexample.com
www.example.com
, makaexample.com
akan dialihkan kewww.example.com
.Seperti disebutkan sebelumnya, saya sarankan selalu mendarat
www
sehingga saya masukwww.example.com
seperti yang digambarkan di atas.Langkah 3: Buat entri DNS
Di konsol web penyedia DNS Anda, buat empat
A
catatan dan satuCNAME
.A
Rekaman untuk@
(alias root apex):Beberapa penyedia DNS akan meminta Anda menentukan
@
, yang lain (seperti AWS Route 53), Anda akan membiarkan sub-domain kosong untuk menunjukkan@
. Dalam kedua kasus ini , ini adalahA
catatan yang harus dibuat:CNAME
catatan untuk mengarahkan www.example.com keYOUR-GITHUB-USERNAME.github.io
.Ini adalah bagian yang paling membingungkan.
Perhatikan
YOUR-GITHUB-USERNAME
BUKAN nama repo GitHub! NilaiYOUR-GITHUB-USERNAME
ditentukan oleh grafik ini .Untuk situs halaman Pengguna (kemungkinan besar Anda),
CNAME
entri akan berupausername.github.io
, mis:Untuk situs halaman Organisasi ,
CNAME
entri akan berupaorgname.github.io
, mis:Langkah 5: Konfirmasikan entri DNS
Konfirmasikan
A
catatan Anda dengan menjalankandig +noall +answer example.com
. Seharusnya mengembalikan empat185.x.x.x
alamat IP yang Anda masukkan.Konfirmasikan
CNAME
data Anda dengan menjalankandig www.example.com +nostats +nocomments +nocmd
. Seharusnya mengembalikan aCNAME YOUR-GITHUB-USERNAME.github.io
Diperlukan waktu sekitar satu jam bagi entri DNS ini untuk menyelesaikan / memperbanyak. Begitu mereka melakukannya, buka browser Anda
http://example.com
dan itu harus mengarahkan kembali kehttp://www.example.com
Langkah 6: Konfigurasi SSL (HTTPS). Opsional, tetapi sangat dianjurkan
Setelah domain kustom berfungsi, kembali ke pengaturan repo. Jika Anda sudah membuka halaman pengaturan, segarkan halaman tersebut.
Jika ada pesan di bawah
Enforce HTTPS
kotak centang, menyatakan bahwa itu masih diproses, Anda harus menunggu. Anda juga mungkin perlu menekansave
tombol diCustom domain
bagian ini untuk memulaiEnforce HTTPS
pemrosesan.Setelah pemrosesan selesai, seharusnya akan terlihat seperti ini:
Cukup klik pada
Enforce HTTPS
kotak centang, dan arahkan ke browser Andahttps://example.com
. Ini harus mengarahkan ulang dan terbukahttps://www.example.com
ITU DIA!
GitHub akan secara otomatis menjaga sertifikat HTTPS Anda tetap mutakhir DAN harus menangani apeks untuk
www
mengarahkan ulang melalui HTTPS.Semoga ini membantu!!
...
Jawaban lama (sebelum 1/23/19)
Jadi saya menemukan jawabannya. James McLaughlin memberi saya dorongan yang saya butuhkan.
Untuk Menyiapkan domain khusus untuk repo Halaman Proyek gh-halaman yang menangani www.domainanda.com dan domainanda.com (menganggap Anda sudah memiliki cabang gh-halaman di repo Anda):
yourdomain.com
. Komit kemudian dorong.cname
catatan. Satu untuk apex root (@) dan satu untuk www. Keduanya menunjuk keYOURusername.github.io
. Jika penyedia DNS Anda TIDAK mendukungALIAS
catatan pada apex root (@), cukup buatA
catatan yang mengarah ke192.30.252.153
dan192.30.252.154
Tunggu hingga pembaruan server nama Anda:
dig yourdomain.com +nostats +nocomments +nocmd
sumber
204.232.175.78
sebagai alamat IP.Gambaran
The dokumentasi sedikit membingungkan ketika datang ke proyek halaman , sebagai lawan halaman pengguna . Rasanya Anda harus melakukan lebih, tetapi sebenarnya prosesnya sangat mudah.
Ini melibatkan:
Apa yang akan Anda dapatkan
Konten Anda akan disajikan dari URL formulir http://nicholasjohnson.com .
Mengunjungi http://www.nicholasjohnson.com akan mengembalikan 301 redirect ke domain telanjang.
Jalur akan dihormati oleh pengalihan, sehingga lalu lintas ke http://www.nicholasjohnson.com/angular akan dialihkan ke http://nicholasjohnson.com/angular .
Anda dapat memiliki satu halaman proyek per repositori, jadi jika repo Anda terbuka, Anda dapat memiliki sebanyak yang Anda suka.
Inilah prosesnya:
1. Buat catatan
Untuk catatan A, arahkan @ ke alamat ip berikut:
Ini adalah alamat IP Github statis dari mana konten Anda akan disajikan.
2. Buat Data CNAME
Untuk catatan CNAME, arahkan www ke yourusername.github.io. Perhatikan berhenti penuh trailing. Perhatikan juga, ini adalah nama pengguna, bukan nama proyek . Anda belum perlu menentukan nama proyek. Github akan menggunakan file CNAME untuk menentukan proyek dari mana menyajikan konten.
misalnya
Tujuan CNAME adalah untuk mengarahkan ulang semua lalu lintas subdomain www ke halaman GitHub yang akan diarahkan ke domain telanjang.
Berikut screenshot konfigurasi yang saya gunakan untuk situs saya sendiri http://nicholasjohnson.com :
3. Buat file CNAME
Tambahkan file bernama CNAME ke root proyek Anda di cabang gh-pages. Ini harus berisi domain yang ingin Anda layani. Pastikan Anda berkomitmen dan mendorong.
misalnya
File ini memberi tahu GitHub untuk menggunakan repo ini untuk menangani lalu lintas ke domain ini.
4. Tunggu
Sekarang tunggu 5 menit, halaman proyek Anda sekarang akan tayang.
sumber
yourUserName.github.io.
File CNAME pada cabang gh-halaman akan memiliki satu baris:
www.mydomain.com
(bukannyamydomain.com
)Tidak masalah preferensi Anda pada pengalihan (dengan kata lain, tidak peduli apa yang ada di file CNAME Anda di cabang gs-pages), dengan penyedia DNS Anda, Anda harus mengaturnya seperti ini:
sumber
Jawaban singkat
Penjelasan terperinci ini sangat bagus, tetapi kebingungan OP (dan saya) dapat diselesaikan dengan satu kalimat: "DNS langsung ke nama pengguna atau organisasi GitHub Anda , abaikan proyek tertentu, dan tambahkan file CNAME yang sesuai dalam repositori proyek Anda: GitHub akan mengirim DNS yang tepat untuk proyek yang tepat berdasarkan file di tempat penyimpanan . "
sumber
Pada 29 Agustus 2013, dokumentasi Github mengklaim bahwa:
sumber
username.github.io/projectname
kewww.projectname.com
.Hal-hal jauh lebih mudah saat ini!
sumber
Saya baru saja menemukan, setelah sedikit frustrasi, bahwa jika Anda menggunakan PairNIC , yang harus Anda lakukan adalah mengaktifkan pengaturan "Penerusan Web" di bawah "DNS Khusus" dan menyediakan alamat nama pengguna.github.io/project dan itu akan secara otomatis mengatur catatan puncak dan subdomain untuk Anda. Tampaknya melakukan persis apa yang disarankan dalam jawaban yang diterima. Namun, itu tidak akan membiarkan Anda melakukan hal yang sama persis dengan menambahkan catatan secara manual. Sangat aneh. Bagaimanapun, butuh beberapa saat untuk mencari tahu, jadi saya pikir saya akan berbagi untuk menyelamatkan orang lain dari masalah.
sumber
Saya ingin membagikan langkah-langkah saya yang sedikit berbeda dengan apa yang ditawarkan oleh rynop dan superluminary .
A
Record persis sama tetapiCNAME
untukwww
saya lebih suka mengarahkan ulang ke domain kosong saya (non-www
)Konfigurasi ini mengacu pada panduan domain pilihan . Pengaturan domain
www
kenon www
atau sebaliknya bisa berbeda pada masing-masing penyedia domain. Karena domain saya di bawah GoDaddy, maka di bawah Pengaturan Domain saya mengaturnya menggunakan Subdomain Forwarding (301).Sebagai hasil dari mengarahkan domain ke repositori Github, itu kemudian akan memberikan semua URL untuk keduanya
master
dangh-pages
cabang yang serupa seperti yang saya daftarkan di bawah ini menuju ke domain yang disukai:menguasai
Dengan membuat
CNAME
file dimaster
cabang (periksa di repositori pengguna saya ).halaman gh
Dengan membuat
CNAME
file yang sama digh-pages
cabang (periksa di repositori proyek saya ).Sebagai tambahan dari
CNAME
file di atas, Anda mungkin perlu mem-bypass sepenuhnya pemrosesan Jekyll di GitHub Pages dengan membuat file bernama.nojekyll
di root repo halaman Anda.sumber