GitLab Pages Let’s Encrypt 인증서

Tier: Free, Premium, Ultimate Offering: GitLab.com, Self-managed, GitLab Dedicated

GitLab Pages와 Let’s Encrypt(LE) 통합을 통해
사용자는 번거롭게 인증서를 발급하고 업데이트할 필요 없이
사용자 도메인으로 Pages 웹사이트에 LE 인증서를 사용할 수 있습니다;
GitLab이 이를 자동으로 처리합니다.

Let’s Encrypt는 무료, 자동화된
오픈 소스 인증 기관입니다.

caution
이 기능은 커스텀 도메인에 대한 인증서만 포함되며,
Pages daemon 실행에 필요한 와일드카드 인증서는
지원하지 않습니다(자체 관리, 무료, 프리미엄 및 얼티밋 전용). 와일드카드
인증서 생성은 이 문제에서 추적됩니다.

전제 조건

도메인에 대한 SSL 인증서의 자동 프로비저닝을 활성화하기 전에, 다음을 확인하세요:

  • GitLab에 프로젝트를 생성하여
    웹사이트의 소스 코드를 포함했습니다.
  • 도메인(example.com)을 확보하고 DNS 항목을 추가하여
    이를 귀하의 Pages 웹사이트에 지정했습니다. 최상위 도메인(.com)은
    공개 접미사여야 합니다.
  • 귀하의 도메인을 Pages 프로젝트에 추가하고
    소유권을 확인했습니다.
  • 귀하의 웹사이트가 정상적으로 작동하고 있으며, 커스텀 도메인을 통해 접근 가능함을 확인했습니다.

Let’s Encrypt와의 GitLab 통합은 GitLab.com에서 활성화되어 사용 가능합니다.
자체 관리 GitLab 인스턴스의 경우, 관리자에게
활성화되었는지 확인하세요.

커스텀 도메인에 대한 Let’s Encrypt 통합 활성화

요건을 충족했다면, Let’s Encrypt 통합을 활성화하세요:

  1. 왼쪽 사이드바에서 Search or go to를 선택하고
    프로젝트를 찾습니다.
  2. Deploy > Pages를 선택합니다.
  3. 도메인 이름 옆에서 Edit( )를 선택합니다.
  4. Let’s Encrypt를 사용한 자동 인증서 관리 토글을 켭니다.

    Enable Let's Encrypt

  5. Save changes를 선택합니다.

활성화되면, GitLab은 LE 인증서를 획득하고
연결된 Pages 도메인에 추가합니다. GitLab은 또한 이를 자동으로 갱신합니다.

Notes:

  • 인증서를 발급하고 Pages 구성을 업데이트하는 데
    최대 1시간이 걸릴 수 있습니다.
  • 도메인 설정에 이미 SSL 인증서가 있는 경우,
    Let’s Encrypt 인증서로 교체될 때까지 계속 작동합니다.

문제 해결

Let’s Encrypt 인증서를 얻는 동안 문제가 발생했습니다

Let’s Encrypt 인증서를 얻는 동안 문제가 발생했습니다라는 오류가 표시되면, 먼저 프로젝트의
Settings > General > Visibility에서 페이지 사이트가 “Everyone”으로 설정되어 있는지 확인하세요.
이렇게 하면 Let’s Encrypt 서버가 페이지 사이트에 도달할 수 있습니다. 확인 후,
다시 인증서를 획득하려고 다음 단계를 따르세요:

  1. 왼쪽 사이드바에서 Search or go to를 선택하고
    프로젝트를 찾습니다.
  2. Deploy > Pages를 선택합니다.
  3. 도메인 이름 옆에서 Edit( )를 선택합니다.
  4. Verification status에서 Retry verification( )를 선택합니다.
  5. 여전히 같은 오류가 발생하는 경우:
    1. 도메인에 대해 CNAME 또는 A DNS 레코드가 하나만 올바르게 설정되어 있는지 확인하세요.
    2. 도메인에 AAAA DNS 레코드가 있는지 확인하세요.
    3. 도메인이나 높은 수준의 도메인에 대한 CAA DNS 레코드가 있는 경우, it includes letsencrypt.org를 확인하세요.
    4. 귀하의 도메인이 확인되었는지 확인하세요.
    5. 1단계로 돌아갑니다.

인증서 받기가 1시간 이상 걸림

Let’s Encrypt 통합을 활성화했지만 1시간이 지나도 인증서가 없는 경우 다음과 같은 메시지가 표시됩니다:

GitLab이 이 도메인에 대한 Let's Encrypt SSL 인증서를 받고 있습니다.
이 과정은 시간이 걸릴 수 있습니다. 나중에 다시 시도해 주세요.

다음 단계에 따라 GitLab Pages에 대한 도메인을 다시 제거하고 추가하십시오:

  1. 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
  2. 배포 > 페이지를 선택합니다.
  3. 도메인 이름 옆에서 제거를 선택합니다.
  4. 도메인을 다시 추가하고 확인합니다.
  5. 도메인에 대한 Let’s Encrypt 통합을 활성화합니다.
  6. 여전히 동일한 오류가 발생하는 경우:
    1. 도메인에 대해 CNAME 또는 A DNS 레코드를 하나만 올바르게 설정했는지 확인합니다.
    2. 도메인에 AAAA DNS 레코드가 없는지 확인합니다.
    3. 도메인이나 상위 도메인에 CAA DNS 레코드가 있는 경우, 이것이 letsencrypt.org를 포함하는지 확인합니다.
    4. 1단계로 돌아갑니다.