GitLab Pages Let’s Encrypt証明書
- プラン: Free、Premium、Ultimate
- 提供形態: GitLab.com、GitLab Self-Managed
GitLab PagesとLet’s Encrypt(LE)のインテグレーションにより、カスタムドメインを持つPages Webサイトで、LE証明書を発行および更新する手間をかけずに使用できます。GitLabがすぐに使用できるようにします。
Let’s Encryptは、無料で自動化されたオープンソースの認証局です。
前提要件
ドメインのSSL証明書の自動プロビジョニングを有効にする前に、以下を確認してください:
- Webサイトのソースコードを含むGitLabでプロジェクトを作成しました。
- ドメイン(
example.com)を取得し、それをPages Webサイトに向けるDNSエントリを追加しました。トップレベルドメイン(.com)は、Public Suffixである必要があります。 - Pagesプロジェクトにドメインを追加し、所有権を確認しました。
- カスタムドメインからアクセスできるWebサイトが起動し、実行されていることを確認しました。
Let’s EncryptとのGitLabインテグレーションが有効になり、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(最大1時間かかることがあります)。ドメイン設定にSSL証明書が既にある場合、Let’s Encrypt証明書に置き換えられるまで、その証明書は引き続き機能します。
トラブルシューティング
Let’s Encrypt証明書の取得中に問題が発生しました
エラーSomething went wrong while obtaining the Let’s Encrypt certificate(Let’s Encrypt証明書の取得中に問題が発生しました) が表示された場合は、まず、プロジェクトの設定 > 一般 > 表示レベルで、ページサイトが「全員」に設定されていることを確認します。これにより、Let’s Encryptサーバーがページサイトにアクセスできるようになります。これが確認されたら、以下の手順に従って、証明書の取得を再度試みることができます:
- 左側のサイドバーで、検索または移動先を選択して、プロジェクトを見つけます。
- デプロイ > Pagesを選択します。
- ドメイン名の横にある編集 ( ) を選択します。
- 検証ステータスで、検証を再試行する( )を選択します。
- それでも同じエラーが発生する場合は、次の手順を実行します:
- ドメインに対して
CNAMEまたはADNSレコードが1つだけ正しく設定されていることを確認してください。 - ドメインにdoesn’t have(AAAA)
AAAADNSレコードがないことを確認してください。 - ドメインまたは上位レベルのドメインに
CAADNSレコードがある場合は、letsencrypt.orgが含まれていることを確認してください。 - ドメインが検証されていることを確認します。
- ステップ1に進みます。
- ドメインに対して
証明書の取得が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(AAAA)
AAAADNSレコードがないことを確認してください。 - ドメインまたは上位レベルのドメインに
CAADNSレコードがある場合は、letsencrypt.orgが含まれていることを確認してください。 - ステップ1に進みます。
- ドメインに対して