GitLab Pages Let’s Encrypt 인증서
GitLab Pages와 Let’s Encrypt(LE)의 통합을 통해 사용자는 커스텀 도메인으로 페이지 웹사이트의 LE 인증서를 사용할 수 있으며, 직접 인증서를 발급하고 업데이트할 필요 없이 GitLab이 사용자를 대신해 이를 처리합니다.
Let’s Encrypt는 무료이며, 자동화되어 있으며, 오픈 소스인 인증 기관입니다.
사전 조건
도메인의 SSL 인증서를 자동으로 프로비저닝하려면 다음을 확보하세요:
- GitLab에 프로젝트가 생성되어 있어야 합니다. 그 프로젝트는 웹사이트의 소스 코드를 포함해야 합니다.
- 도메인(
example.com
)을 확보했고, DNS 항목을 추가하여 해당 도메인이 페이지 웹사이트를 가리키도록 해야 합니다. 최상위 도메인(.com
)은 공개 접미어여야 합니다. - 페이지 프로젝트에 도메인을 추가하고 소유권을 확인했어야 합니다.
- 웹사이트가 커스텀 도메인을 통해 정상적으로 실행되고 접근 가능한지 확인했어야 합니다.
GitLab과 Let’s Encrypt의 통합은 GitLab.com에서 활성화되어 있습니다. Self-managed GitLab 인스턴스의 경우, 관리자가 이를 활성화했는지 확인하세요.
커스텀 도메인의 Let’s Encrypt 통합 활성화
모든 사전 조건을 충족했다면, 아래 단계에 따라 Let’s Encrypt 통합을 활성화하세요:
- 왼쪽 사이드바에서 검색 또는 이동을 선택하여 프로젝트를 찾습니다.
- 배포 > Pages를 선택합니다.
- 도메인 이름 옆에 있는 편집을 선택합니다.
-
Let’s Encrypt를 사용한 자동 인증서 관리 토글을 켭니다.
- 변경사항 저장을 선택합니다.
활성화하면 GitLab이 LE 인증서를 획득하고 해당 Pages 도메인에 추가합니다. 또한 GitLab이 자동으로 갱신합니다.
참고:
- 인증서 발급 및 Pages 구성 업데이트에는 최대 1시간이 소요될 수 있습니다.
- 도메인 설정에 이미 SSL 인증서가 있는 경우, 이를 Let’s Encrypt 인증서로 대체될 때까지 계속 작동합니다.
문제 해결
“Let’s Encrypt 인증서 획득 중 오류 발생” 오류
“Let’s Encrypt 인증서 획득 중 오류 발생” 오류가 발생하면 먼저 프로젝트의 설정 > 일반 > 가시성에서 페이지 사이트의 가시성을 “모두에게”로 설정했는지 확인하세요. 이렇게 하면 Let’s Encrypt 서버가 페이지 사이트에 연결될 수 있습니다. 이 확인이 완료되면 다음 단계를 따라 인증서를 다시 획득할 수 있습니다:
- 왼쪽 사이드바에서 검색 또는 이동을 선택하여 프로젝트를 찾습니다.
- 배포 > Pages를 선택합니다.
- 도메인 이름 옆에 있는 편집을 선택합니다.
- 확인 상태에서 재시도 확인을 선택합니다 ().
- 여전히 동일한 오류가 발생하는 경우:
- 도메인에
CNAME
또는A
DNS 레코드가 올바르게 하나만 설정되어 있는지 확인합니다. - 도메인에
AAAA
DNS 레코드가 없는지 확인합니다. - 도메인 또는 상위 도메인에
CAA
DNS 레코드가 있는 경우, 여기에letsencrypt.org
가 포함되어 있는지 확인합니다. - 도메인이 확인되었는지 확인합니다.
- 단계 1로 돌아갑니다.
- 도메인에
“GitLab이 이 도메인에 Let’s Encrypt SSL 인증서를 획득하고 있습니다. 이 작업에는 시간이 소요될 수 있습니다. 나중에 다시 시도하세요.” 메시지가 1시간 이상 동안 유지됨
Let’s Encrypt 통합을 활성화했지만 1시간 이상 경과된 후에도 인증서가 없는 경우 “GitLab이 이 도메인에 Let’s Encrypt SSL 인증서를 획득하고 있습니다. 이 작업에는 시간이 소요될 수 있습니다. 나중에 다시 시도하세요.” 메시지가 표시되면, Pages 도메인을 제거하고 다시 추가한 후 다음 단계를 따라 시도하세요:
- 왼쪽 사이드바에서 검색 또는 이동을 선택하여 프로젝트를 찾습니다.
- 배포 > Pages를 선택합니다.
- 도메인 이름 옆에 있는 제거를 선택합니다.
- 도메인을 다시 추가하고 확인합니다.
- 도메인의 Let’s Encrypt 통합을 활성화하세요.
- 여전히 동일한 오류가 발생하는 경우:
- 도메인에
CNAME
또는A
DNS 레코드가 올바르게 하나만 설정되어 있는지 확인합니다. - 도메인에
AAAA
DNS 레코드가 없는지 확인합니다. - 도메인 또는 상위 도메인에
CAA
DNS 레코드가 있는 경우, 여기에letsencrypt.org
가 포함되어 있는지 확인합니다. - 단계 1로 돌아갑니다.
- 도메인에