GitLab Pages Let’s Encrypt証明書
- プラン: Free、Premium、Ultimate
- 提供形態: GitLab.com、GitLab Self-Managed
GitLab PagesとLet’s Encrypt (LE) とのインテグレーションにより、PagesウェブサイトでカスタムドメインのLE証明書を自分で発行更新する手間をかけずに利用できます。GitLabがすぐに利用可能な状態でこれを提供します。
Let’s Encryptは、無料で自動化されたオープンソースの認証局です。
前提条件
ドメインのSSL証明書の自動プロビジョニングを有効にする前に、以下を確認してください:
- ウェブサイトのソースコードを含むプロジェクトをGitLabで作成しました。
- ドメイン(
example.com)を取得し、Pagesウェブサイトを指すDNSエントリを追加しました。トップレベルドメイン(.com)はPublic Suffixである必要があります。 - あなたのドメインをPagesプロジェクトに追加し、その所有権を確認しました。
- あなたのウェブサイトが稼働しており、カスタムドメイン経由でアクセス可能であることを確認しました。
GitLabとLet’s Encryptのインテグレーションは、GitLab.comで有効化され、利用可能です。GitLab Self-Managedインスタンスの場合は、管理者がそれを有効にしていることを確認してください。
カスタムドメインにLet’s Encryptインテグレーションを有効にする
要件を満たしたら、Let’s Encryptインテグレーションを有効にします:
上部のバーで、検索または移動先を選択して、プロジェクトを見つけます。
デプロイ > Pagesを選択します。
ドメイン名の横にある編集 ( ) を選択します。
Let’s Encryptを用いた自動証明書管理切替をオンにします。
変更を保存を選択します。
有効にすると、GitLabはLE証明書を取得し、関連付けられたPagesドメインに追加します。GitLabは自動的に更新も行います。
証明書の発行とPagesの設定更新にはcan take up to an hour。ドメイン設定に既にSSL証明書がある場合、Let’s Encrypt証明書に置き換えられるまで機能し続けます。
トラブルシューティング
Let’s Encrypt証明書の取得中に問題が発生しました
Something went wrong while obtaining the Let’s Encrypt certificateというエラーが表示されることがあります。
このイシューは、Let’s Encryptがあなたのドメインに到達または検証することができない場合に発生します。
この問題を解決するには、次の手順に従います:
- 上部のバーで、検索または移動先を選択して、プロジェクトを見つけます。
- 設定 > 一般 > 表示レベルを選択し、Pagesが全員に設定されていることを確認します。
- デプロイ > Pages > ドメインと設定を選択します。
- ドメイン名の横にある編集 ( ) を選択します。
- 検証ステータスで、検証を再試行する( )を選択します。
同じエラーが発生した場合は、以下を確認してください:
- ドメインに
CNAMEまたはADNSレコードを1つだけ設定していることを確認してください。 - ドメインに
AAAADNSレコードがないことを確認してください。 - ドメインまたは上位レベルのドメインに
CAADNSレコードがある場合は、letsencrypt.orgが含まれていることを確認してください。 - ドメインが検証されていることを確認してください。
- 並行デプロイを使用している場合は、プライマリデプロイに空の
path_prefixがあることを確認してください。空でないpath_prefix(例:latest)の場合、/.well-known/acme-challengeパスが提供されません。
デプロイ > Pages設定に戻り、検証を再試行してください。
証明書の取得が1時間以上停止する
Let’s Encryptインテグレーションを有効にしているにもかかわらず、1時間経っても証明書が表示されず、次のメッセージが表示される場合:
GitLab is obtaining a Let's Encrypt SSL certificate for this domain.
This process can take some time. Please try again later.以下の手順に従って、GitLab Pagesのドメインを再度削除して追加してください:
- 上部のバーで、検索または移動先を選択して、プロジェクトを見つけます。
- デプロイ > Pagesを選択します。
- ドメイン名の横にある削除を選択します。
- ドメインを再度追加し、検証する。
- ドメインのLet’s Encryptインテグレーションを有効にする。
- まだ同じエラーが発生する場合は:
- ドメインに
CNAMEまたはADNSレコードを1つだけ適切に設定していることを確認してください。 - ドメインにdoesn’t have
AAAADNSレコードがないことを確認してください。 - ドメインまたは上位レベルのドメインに
CAADNSレコードがある場合は、letsencrypt.orgが含まれていることを確認してください。 - ステップ1に進んでください。
- ドメインに
