나는이 gh-pages
내 중 한 가지를 http://github.com 의 repos. http://myuser.github.com/myrepo 로 이동하면 GitHub 프로젝트 페이지가 제대로 작동합니다 .
이 프로젝트 페이지를 제공 할 사용자 정의 도메인 (myexample.com)을 설정하고 싶습니다. 이 프로젝트 페이지를 모두 제공 myexample.com
하고 싶습니다 www.myexample.com
.
GitHub 페이지 는 DNS에 A 레코드와 CNAME 레코드를 만드는 데 도움 이됩니다. A 레코드는 의미가 있지만 DNS에서 어떤 CNAME 레코드를 만들어야하는지 모르겠습니다.
gh-pages
문서는 할 말을 CNAME
사용자 페이지 저장소입니다 ‘charlie.github.com’에 대한 기록. 나는 사용자 문서 저장소가없는 – 나는 단지 프로젝트 저장소와이 gh-pages
내가 사용하려는 지점 myexample.com
과 www.myexample.com
.
www.myexample.com 및 myexample.com에 대한 프로젝트 페이지를 사용할 수 있도록 사용자 페이지 저장소를 만들어야합니까?
나는 그것을 시도하려고하지만 이미 www.myexample.com을 가지고 있고 실수를하고 싶지 않기 때문에 이것이 작동하는지 확인하고 싶습니다.
GitHub 지원팀에 이메일을 보냈으며 응답은
내가 아는 한 동일한 gh 페이지를 가리킬 수는 없습니다.
프로젝트 페이지에 대한 A 레코드 만 지원한다고 믿기가 어렵습니다.
아무도 전에 이것을 성공적으로 했습니까?
답변
19 1/21/19 업데이트 :
내 마지막 대답 이후 상황이 약간 바뀌 었습니다. 이 업데이트 된 답변은 구성 방법을 보여줍니다.
- 루트 에이펙스 (example.com)
- 하위 도메인 (www.example.com)
- HTTPS (선택적이지만 강력하게 권장 됨)
결국 모든 요청 example.com
은 https://www.example.com (또는 HTTPS를 사용하지 않도록 선택한 경우 http : //) 으로 리디렉션됩니다 . 나는 항상 www
내 최종 착륙으로 사용합니다. 왜 ( 1 , 2 )는 또 다른 토론을위한 것입니다.
이 답변은 길지만 복잡 하지 않습니다 . 이 주제에 대한 GitHub 문서가 명확하지 않거나 선형 적이 지 않기 때문에 명확하게 설명했습니다.
1 단계 : GitHub 설정에서 GitHub 페이지 활성화
- 리포지토리에서 탭을 클릭 하십시오
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 페이지 사이트에 추가 한 맞춤 도메인이
example.com
로 설정www.example.com
되면example.com
- GitHub 페이지 사이트에 추가 한 사용자 지정 도메인이
www.example.com
인 경우 (으)example.com
로 리디렉션됩니다www.example.com
.
앞서 언급 한 바와 같이, 나는에 착륙 항상 추천 www
내가 입력 한 있도록 www.example.com
로 위의 사진.
3 단계 : DNS 항목 만들기
DNS 제공 업체의 웹 콘솔에서 4 개의 A
레코드와 1 개의 레코드를 만듭니다 CNAME
.
A
@
(일명 루트 정점)에 대한 기록 :
일부 DNS 공급자는을 지정 @
하고 다른 DNS 공급자는 (예 : AWS Route 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
.
가장 혼란스러운 부분입니다.
GitHub 리포지토리 이름 이 YOUR-GITHUB-USERNAME
아닙니다 ! 의 값은 이 차트에YOUR-GITHUB-USERNAME
의해 결정됩니다 .
A의 사용자 페이지 (가장 가능성이 당신이 무엇을) 사이트 CNAME
항목이 될 것입니다 username.github.io
, 예 :
A의 조직 페이지 사이트 CNAME
항목이 될 것입니다 orgname.github.io
, 예 :
5 단계 : DNS 항목 확인
-
A
를 실행 하여 레코드를 확인하십시오dig +noall +answer example.com
.185.x.x.x
입력 한 4 개의 IP 주소를 반환해야합니다 . -
CNAME
를 실행 하여 레코드를 확인합니다dig www.example.com +nostats +nocomments +nocmd
. 반환해야합니다CNAME YOUR-GITHUB-USERNAME.github.io
이러한 DNS 항목이 해결 / 전파되는 데 1 시간 정도 걸릴 수 있습니다. 일단 그렇게되면 브라우저를 열고 http://example.com
다시 리디렉션해야합니다.http://www.example.com
6 단계 : SSL (HTTPS) 구성 선택적이지만 적극 권장
사용자 정의 도메인이 작동되면 리포지토리 설정으로 돌아갑니다. 설정 페이지가 이미 열려 있으면 페이지를 강제로 새로 고침하십시오.
Enforce HTTPS
확인란 아래에 아직 처리 중임을 알리는 메시지 가 있으면 기다려야합니다. 처리 를 시작하기 save
위해 Custom domain
섹션 의 버튼을 눌러야 할 수도 있습니다 Enforce HTTPS
.
처리가 완료되면 다음과 같아야합니다.
Enforce HTTPS
확인란을 클릭하고 브라우저를 가리 킵니다 https://example.com
. 리디렉션하고 열어야합니다.https://www.example.com
그게 다야!
GitHub는 자동으로 HTTPS 인증서를 최신 상태로 유지하며 에이펙스를 처리하여 www
HTTPS를 통해 리디렉션합니다.
도움이 되었기를 바랍니다!!
…
이전 (19/2 월 3 일 이전) 답변
그래서 알아 냈습니다. James McLaughlin 이 내게 필요한 넛 지를 주었습니다.
www.yourdomain.com 및 yourdomain.com을 처리하는 gh-pages 프로젝트 페이지 저장소에 대한 사용자 정의 도메인을 설정하려면 (이미 저장소에 gh-pages 분기가 있다고 가정) :
- 프로젝트 저장소에서 gh-pages branch. 내용으로 CNAME 파일을 만듭니다
yourdomain.com
. 그런 다음 커밋하십시오. - DNS 관리자에서 두 개의
cname
레코드를 설정하십시오 . 하나는 루트 정점 (@)과 다른 하나는 www입니다. 둘 다 가리 킵니다YOURusername.github.io
. DNS 공급자가 지원하지 않는 경우ALIAS
루트 정점에 기록 (@), 간단하게 만들 수A
기록을 포인트로 그192.30.252.153
와192.30.252.154
-
네임 서버가 업데이트 될 때까지 기다리십시오 :
dig yourdomain.com +nostats +nocomments +nocmd
답변
개요
문서 가 올 때 조금 혼란 프로젝트 페이지 는 달리, 사용자 페이지 . 더 많은 일을해야한다고 생각하지만 실제로는 프로세스가 매우 쉽습니다.
여기에는 다음이 포함됩니다.
- 기본 (www 없음) 도메인에 대해 2 개의 정적 A 레코드 설정
- www에 대해 하나의 CNAME 레코드를 작성하면 GitHub URL을 가리 킵니다. www 리디렉션을 처리합니다.
- gh-pages 브랜치에서 프로젝트 루트에 CNAME (대문자) 파일을 만듭니다. 그러면 Github에 응답 할 URL을 알려줍니다.
- 모든 것이 전파 될 때까지 기다리십시오.
당신이 얻을 것
귀하의 콘텐츠는 http://nicholasjohnson.com 형식의 URL에서 제공됩니다 .
http://www.nicholasjohnson.com 을 방문 하면 기본 도메인으로 301 리디렉션이 반환됩니다.
경로는 경로 재 지정에 의해 존중되므로 http://www.nicholasjohnson.com/angular에 대한 트래픽 은 http://nicholasjohnson.com/angular 로 경로 재 지정됩니다 .
저장소 당 하나의 프로젝트 페이지를 가질 수 있으므로 저장소가 열려 있으면 원하는만큼 가질 수 있습니다.
과정은 다음과 같습니다.
1. A 레코드 생성
A 레코드의 경우 @를 다음 IP 주소로 지정하십시오.
@: 185.199.108.153
@: 185.199.109.153
@: 185.199.110.153
@: 185.199.111.153
이들은 귀하의 콘텐츠가 제공 될 정적 Github IP 주소입니다.
2. CNAME 레코드 만들기
CNAME 레코드의 경우 www를 yourusername.github.io로 지정하십시오. 후행 완전 정지에 유의하십시오. 또한 이것은 프로젝트 이름이 아닌 사용자 이름 입니다. 아직 프로젝트 이름을 지정할 필요가 없습니다. Github는 CNAME 파일 을 사용하여 콘텐츠를 제공 할 프로젝트를 결정합니다.
예 :
www: forwardadvance.github.io.
CNAME의 목적은 모든 www 하위 도메인 트래픽을 GitHub 페이지로 리디렉션하여 기본 도메인으로 301 리디렉션하는 것입니다.
내 사이트 http://nicholasjohnson.com에 사용하는 구성의 스크린 샷은 다음과 같습니다 .
3. CNAME 파일 생성
gh-pages 분기의 프로젝트 루트에 CNAME이라는 파일을 추가하십시오. 서비스하려는 도메인이 포함되어 있어야합니다. 커밋하고 푸시하십시오.
예 :
nicholasjohnson.com
이 파일은 GitHub에이 리포지토리를 사용하여이 도메인에 대한 트래픽을 처리하도록 지시합니다.
4. 기다려
이제 5 분 정도 기다리면 프로젝트 페이지가 활성화됩니다.
답변
요청을 (으)
www.mydomain.com
로 리디렉션하는 대신 도메인을 표시하는 방법이 궁금하다면 다음을 시도하십시오.www
mydomain.com
gh-pages 브랜치의 CNAME 파일 에는 한 줄이 있습니다.
www.mydomain.com
(대신 mydomain.com
)
DNS 공급자와 함께 리디렉션에 대한 환경 설정 (즉, gs-pages 분기의 CNAME 파일에있는 내용에 상관없이)에 관계없이 다음과 같이 설정해야합니다.
A @ 192.30.252.154
A @ 192.30.252.153
CNAME www username.github.io
답변
짧은 답변
이러한 자세한 설명은 훌륭하지만 OP (및 나의) 혼동은 다음과 같은 한 문장으로 해결 될 수 있습니다. “GitHub 사용자 이름 또는 조직 에 대한 DNS를 직접 지정하고 특정 프로젝트를 무시하고 프로젝트 저장소에 적절한 CNAME 파일 을 추가하십시오 . GitHub가 전송합니다 에 따라 적합한 프로젝트에 대한 권리 DNS 파일 에서 respository. “
답변
2013 년 8 월 29 일 기준으로 Github의 문서 는 다음과 같이 주장합니다.
경고 : http://username.github.io/projectname 과 같은 프로젝트 페이지 하위 경로 는 프로젝트의 사용자 지정 도메인으로 리디렉션되지 않습니다.
답변
요즘은 훨씬 쉬워요!
- Apex 도메인 (@) 레코드를 가리 키도록 업데이트
192.30.252.154
192.30.252.153
- github repo 설정에서 Custome 도메인 필드를 편집하십시오 .
- www 및 기타 하위 도메인은 CNAME으로 apex 도메인으로 업데이트 할 수 있습니다.
답변
방금 약간의 좌절감을 보인 후에 PairNIC을 사용하는 경우 “Custom DNS”에서 “Web Forwarding”설정을 활성화하고 username.github.io/project 주소를 제공하기 만하면 됩니다. apex 및 하위 도메인 레코드를 자동으로 설정합니다. 허용 된 답변에서 제안 된 것과 정확히 일치하는 것으로 보입니다. 그러나 수동으로 레코드를 추가하여 똑같은 작업을 수행 할 수는 없습니다. 아주 이상한. 어쨌든, 그것을 알아내는 데 시간이 걸렸습니다. 그래서 다른 사람들을 구하기 위해 공유 할 것이라고 생각했습니다.