GitLab PagesとLet’s Encryptのインテグレーション
GitLab 12.1で導入されました。GitLab 12.1より前のバージョンについては、手動Let’s Encryptの説明を参照してください。
GitLab PagesとLet’s Encrypt(LE) のインテグレーションにより、カスタムドメインのPagesウェブサイトでLE証明書を使用することができます。
Let’s Encryptは、無料で自動化されたオープンソースの認証局です。
要件
ドメインのSSL証明書の自動プロビジョニングを有効にする前に、以下を確認してください:
- GitLab にあなたのウェブサイトのソースコードを含むプロジェクトを作成しました。
- ドメイン(
example.com
)を取得し、あなたのPagesウェブサイトを指すDNSエントリを追加しました。 - Pagesプロジェクトにドメインを追加し、所有権を確認しました。
- カスタムドメインでアクセス可能なウェブサイトが稼動していることを確認します。
カスタムドメインのLet’s Encryptインテグレーションを有効にします。
要件を満たしたら、Let’s Encryptインテグレーションを有効にします:
- プロジェクトの「設定」>「Pages」に移動します。
- ドメインを検索し、[詳細]をクリックします。
- 右上の「編集」をクリックします。
-
Let’s Encryptを使用した証明書の自動管理]を切り替えて、Let’s Encryptインテグレーションを有効にします:
- 変更を保存する]をクリックします。
有効化されると、GitLabはLE証明書を取得し、関連するPagesドメインに追加します。 また、GitLabによって自動的に更新されます。
注:
- 証明書のイシューとPages設定の更新には、最大1時間かかります。
- ドメイン設定ですでにSSL証明書をお持ちの場合は、Let’s Encryptの証明書に置き換わるまで、引き続きご利用いただけます。
トラブルシューティング
エラー “Let’s Encrypt証明書の取得中に何か問題が発生しました”
GitLab 13.0から導入されました。
Let’s Encrypt証明書の取得中にSomething went wrongというエラーが表示された場合は、以下の手順で証明書の取得をやり直してください:
- プロジェクトの「設定」>「Pages」を開きます。
- ドメインの編集をクリックします。
- 再試行をクリックします。
- それでも同じエラーが表示される場合:
- ドメインに
CNAME
またはA
DNSレコードを1つだけ適切に設定していることを確認してください。 - ドメインに
AAAA
DNSレコードがないことを確認してください。 - ドメインまたは上位ドメインに
CAA
DNS レコードがある場合は、にletsencrypt.org
が含まれていることを確認してください。 - ドメインが認証されていることを確認してください。
- ステップ1に進んでください。
- ドメインに
GitLabはこのドメインのLet’s Encrypt SSL証明書を取得しています。 このプロセスには時間がかかることがあります。 後でもう一度試してください” というメッセージが1時間以上ハングします。
Let’s Encryptインテグレーションを有効にしているにもかかわらず、1時間経っても証明書が発行されず、”GitLab is getting 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
またはA
DNSレコードを1つだけ適切に設定していることを確認してください。 - ドメインに
AAAA
DNSレコードがないことを確認してください。 - ドメインまたは上位ドメインに
CAA
DNS レコードがある場合は、にletsencrypt.org
が含まれていることを確認してください。 - ステップ1に進んでください。
- ドメインに