正式なドキュメントは英語版であり、この日本語訳はAI支援翻訳により作成された参考用のものです。日本語訳の一部の内容は人間によるレビューがまだ行われていないため、翻訳のタイミングにより英語版との間に差異が生じることがあります。最新かつ正確な情報については、英語版をご参照ください。

GitLab Pagesカスタムドメイン

  • プラン: Free、Premium、Ultimate
  • 提供形態: GitLab.com、GitLab Self-Managed

カスタムドメインは、以下の場合に使用できます。

1つまたは複数のカスタムドメイン名を使用するには:

最も一般的なパブリックは検証できません。

カスタムドメインを設定する

カスタムドメイン名でPagesを設定するには、以下の要件と手順をお読みください。

前提要件

  • 管理者がGitLab PagesカスタムドメインのサーバーをConfigureしている。
  • GitLab PagesのWebサイトが起動し、実行され、デフォルトのPagesドメイン(*.gitlab.io、GitLab.comの場合)で提供されている。
  • カスタムドメイン名example.comまたはサブドメインsubdomain.example.com
  • を設定するために、ドメインのサーバーコントロールパネルにアクセスします。
    • ドメインをGitLab Pagesサーバーに(AAAAAALIAS、またはCNAME)。その名前に複数のがある場合は、ALIASレコードを使用する必要があります。
    • ドメインの所有権を検証するためのTXT

ステップ

以下の手順に従って、カスタムドメインをPagesに追加します。の概要については、このドキュメントも参照してください。

1.カスタムドメインを追加する

カスタムドメインをGitLab Pagesに追加するには:

  1. 左側のサイドバーで、検索または移動先を選択して、プロジェクトを見つけます。
  2. デプロイ > Pagesを選択します。
  3. 右上隅で、新しいドメインを選択します。
  4. ドメインに、ドメイン名を入力します。
  5. オプション: 証明書で、Let’s Encryptを用いた自動証明書管理切替をオフにして、SSL/TLS証明書SSL/TLS証明書を追加します。証明書とキーは後で追加することもできます。証明書とキーは後で追加することもできます。
  6. 新しいドメインを作成を選択します。

2.検証コードを取得する

Pagesに新しいドメインを追加すると、検証コードがプロンプトに表示されます。GitLabから値をコピーし、ドメインのコントロールパネルにTXTレコードとして貼り付けます。

検証コードを取得する

3.を設定する

Pagesのの概要については、このドキュメントをお読みください。この件について詳しい場合は、Pagesサイトで使用するドメインのタイプに応じて、以下の手順に従ってください。

ルートドメインの場合

ルートドメイン(example.com)には以下が要件です。

  • 少なくとも次のいずれか。
    • ドメインをPagesサーバーにA
    • ドメインをPagesサーバーにAAAA
  • ドメインの所有権を検証するためのTXT
からのDNSレコードをに設定します。
example.comA35.185.44.232
example.comAAAA2600:1901:0:7b8a::
_gitlab-pages-verification-code.example.comTXTgitlab-pages-verification-code=00112233445566778899aabbccddeeff

GitLab.comのプロジェクトの場合、IPv4アドレスは35.185.44.232、IPv6アドレスは2600:1901:0:7b8a::です。他のGitLabインスタンス(CEまたはGitLab Enterprise Edition)で稼働しているプロジェクトの場合は、システム管理者に問い合わせて、この情報(インスタンスで実行されているPagesサーバーのIPアドレス)を確認してください。

GitLab.com Pagesサーバーを<code>A</code>

ルートドメインをGitLab Pages Webサイトのみに使用していて、ドメインレジストラーがこの機能をサポートしている場合は、AまたはAAAAレコードの代わりに、 apex CNAMEレコードを追加できます。これを行う主な利点は、GitLab.comのGitLab Pages IPが何らかの理由で変更された場合に、AまたはAAAAレコードを更新する必要がないことです。いくつかの例外があるかもしれませんが、ルートドメインにMXを設定すると、この方法は推奨されません

サブドメインの場合

サブドメイン(subdomain.example.com)には以下が要件です。

  • サブドメインをPagesサーバーにALIASまたはCNAME
  • ドメインの所有権を検証するためのTXT
からのDNSレコードをに設定します。
subdomain.example.comALIAS/CNAMEnamespace.gitlab.io
_gitlab-pages-verification-code.subdomain.example.comTXTgitlab-pages-verification-code=00112233445566778899aabbccddeeff

ユーザーまたはプロジェクトのWebサイトのどちらの場合でも、DNSレコード、パスなしで、Pagesドメイン(namespace.gitlab.io)を指す必要があります。

ルートとサブドメインの両方の場合

サブドメインとルートドメインの両方を同じWebサイトに指す必要があるケースがいくつかあります。たとえば、example.comwww.example.comなどです。

以下が要件となります。

  • ドメインのA
  • ドメインのAAAA
  • サブドメインのALIAS/CNAME
  • それぞれのTXT
からのDNSレコードをに設定します。
example.comA35.185.44.232
example.comAAAA2600:1901:0:7b8a::
_gitlab-pages-verification-code.example.comTXTgitlab-pages-verification-code=00112233445566778899aabbccddeeff
www.example.comCNAMEnamespace.gitlab.io
_gitlab-pages-verification-code.www.example.comTXTgitlab-pages-verification-code=00112233445566778899aabbccddeeff

Cloudflareを使用している場合は、Cloudflareでwww.domain.comからdomain.comへのリダイレクトを確認してください。

追加の注意点:

  • Do not(domain.com) をGitLab PagesサイトにCNAME場合、domain.comレコードは使用Do not(しないでください)。代わりにAレコードを使用してください。
  • デフォルトのPagesドメインの後に特殊文字をDo not(追加しないでください)。たとえば、subdomain.domain.comをまたはnamespace.gitlab.io/に指すことはしないでください。一部のドメインホスティングプロバイダーでは、末尾のドット(namespace.gitlab.io.)がリクエストされる場合があります。
  • GitLab.comのGitLab Pages IPは2017年に変更されました
  • GitLab.comのGitLab Pages IPが、2018年に52.167.214.135から35.185.44.232変更されました
  • 2023年にIPv6サポートがGitLab.comに追加されました

4.ドメインの所有権を確認する

すべてのDNSレコードを追加した後は:

  1. 左側のサイドバーで、検索または移動先を選択して、プロジェクトを見つけます。
  2. デプロイ > Pagesを選択します。
  3. ドメイン名の横にある編集( pencil ) を選択します。
  4. 検証ステータスで、検証を再試行する retry )を選択します。

ドメインを確認する

ドメインがアクティブになるとすぐに、Webサイトがドメイン名で使用できるようになります。

インスタンスでドメイン検証が有効になっているGitLabでは、ドメインを7日間検証できない場合、そのドメインはGitLabプロジェクトから削除されます。

追加の注意点:

  • ドメインの検証はrequired for GitLab.com users(GitLab.comユーザーに要件です)。GitLab Self-Managedの場合、GitLab管理者はカスタムドメインの検証を無効にするオプションがあります。
  • の伝播には時間がかかる場合があります(最大24時間)が、通常は数分で完了します。完了するまで、検証に失敗し、ドメインへのアクセス試行の結果は404になります。
  • ドメインが検証されたら、検証レコードをそのままにしておきます。ドメインは定期的に再検証され、レコードが削除されると無効になる場合があります。

ドメインエイリアスを追加する

同じプロジェクトに複数のエイリアス(カスタムドメインとサブドメイン)を追加できます。エイリアスは、同じ部屋に通じる多くのドアがあるものとして理解できます。

サイトに設定したすべてのエイリアスは、設定 > Pagesに一覧表示されます。そのページから、表示、追加、削除できます。

Cloudflareを使用してwww.domain.comdomain.comにリダイレクトする

Cloudflareを使用している場合は、wwwdomain.comの両方をGitLabに追加せずに、www.domain.comdomain.comにリダイレクトできます。

これを行うには、www.domain.comdomain.comにリダイレクトするために、CNAMEレコードに関連付けられたCloudflareのページルールを使用できます。次の設定を使用できます。

  1. Cloudflareで、次のいずれかを少なくとも1つ作成します。
    • domain.com35.185.44.232A
    • domain.com2600:1901:0:7b8a::AAAA
  2. GitLabで、ドメインをGitLab Pagesに追加して、検証コードを取得します。
  3. Cloudflareで、ドメインを検証するためのTXTを作成します。
  4. GitLabで、ドメインを検証します。
  5. Cloudflareで、wwwdomain.comCNAMEを作成します。
  6. Cloudflareで、www.domain.comdomain.comにページルールを追加します。
    • ドメインのダッシュボードに移動し、上部のナビゲーションでPage Rules(ページルール)を選択します。
    • Create Page Rule(ページルールを作成)を選択します。
    • ドメインwww.domain.comを入力し、+ Add a Setting(+ 設定を追加)を選択します。
    • ドロップダウンリストから、Forwarding URL(転送URL)を選択し、ステータス状態コード301 - Permanent Redirect(301 - 恒久的なリダイレクト)を選択します。
    • 宛先URL https://domain.comを入力します。

PagesにSSL/TLS証明書を追加する

SSL/TLS証明書>の概要については、このドキュメントをお読みください。

GitLab Pagesでカスタムドメインを保護するには、次のいずれかを選択できます。

SSL/TLS証明書の手動追加

次の要件を満たす任意の証明書を使用できます。

  • GitLab PagesのWebサイトが起動し、実行され、カスタムドメインでアクセスできる。
  • A PEM certificate(PEM証明書): 認証局によって生成された証明書であり、**証明書 (PEM)**フィールドに追加する必要があります。
  • An intermediate certificate: (aka “root certificate”)**:(別名「ルート証明書」)とは、認証局を識別する暗号化キーチェーンの一部です。通常はPEM証明書と組み合わされますが、手動で追加する必要がある場合があります。Cloudflare証明書は、これらのケースの1つです。
  • A private key(秘密キー): ドメインに対してPEMを検証する暗号化されたキーです。

たとえば、Cloudflare証明書はこれらの要件を満たしています。

ステップ

  • 新しいドメインを追加する際に証明書を追加するには:

    1. 左側のサイドバーで、検索または移動先を選択して、プロジェクトを見つけます。
    2. 左側のサイドバーで、デプロイ > Pagesを選択します。
    3. 右上隅で、新しいドメインを選択します。
    4. Domain(Domain)に、ドメイン名を入力します。
    5. 証明書で、Let’s Encryptを用いた自動証明書管理切替をオフにして、SSL/TLS証明書を追加します。
    6. Create New Domain(新しいドメインを作成)を選択します。
  • 以前に追加したドメインに証明書を追加するには:

    1. 左側のサイドバーで、検索または移動先を選択して、プロジェクトを見つけます。
    2. 左側のサイドバーで、デプロイ > Pagesを選択します。
    3. ドメイン名の横にある編集( pencil ) を選択します。
    4. 証明書で、Let’s Encryptを用いた自動証明書管理切替をオフにして、SSL/TLS証明書を追加します。
    5. Save changes(変更を保存)を選択します。
  1. 対応するフィールドにPEM証明書を追加します。
  2. 証明書に中間証明書がない場合は、ルート証明書(通常は認証局のWebサイトから入手可能)をコピーして、PEM証明書と同じフィールドに貼り付け、その間に1行挿入します。
  3. 秘密キーをコピーして、最後のフィールドに貼り付けます。

通常のテキストエディタで証明書または暗号化キーをDo not(開かないでください)。常にコードエディタ(Sublime Text、Dreamweaver、Bracketsなど)を使用してください。

GitLab Pages WebサイトのHTTPSを強制する

Webサイトの訪問者をさらに安全にするために、GitLab PagesのHTTPSを強制することを選択できます。そうすることで、HTTP経由でWebサイトにアクセスしようとするすべての試行が、301を介してHTTPSに自動的にリダイレクトされます。

これは、GitLabのデフォルトのドメインとカスタムドメインの両方で機能します(有効な証明書を設定している限り)。

この設定を有効にするには、次の手順に従います。

  1. 左側のサイドバーで、検索または移動先を選択して、プロジェクトを見つけます。
  2. デプロイ > Pagesを選択します。
  3. **HTTPSを強制 (有効な証明書が必要)**チェックボックスを選択します。
  4. 変更を保存を選択します。

GitLab Pagesの前面でCloudflare CDNを使用する場合は、SSL接続設定をflexibleではなくfullに設定してください。詳細については、Cloudflare CDNの指示を参照してください。

カスタムドメインを編集する

カスタムドメインを編集して、以下を行うことができます。

  • カスタムドメインを表示します。
  • 追加するDNSレコードを表示します。
  • TXT検証エントリを表示します。
  • 検証を再試行します。
  • 証明書の設定を編集します。

カスタムドメインを編集するには:

  1. 左側のサイドバーで、検索または移動先を選択して、プロジェクトを見つけます。
  2. デプロイ > Pagesを選択します。
  3. ドメイン名の横にある編集 ( pencil ) を選択します。

カスタムドメインを削除する

カスタムドメインを削除すると、そのドメインはGitLabで検証されなくなり、GitLab Pagesで使用できなくなります。

カスタムドメインを削除するには:

  1. 左側のサイドバーで、検索または移動先を選択して、プロジェクトを見つけます。
  2. デプロイ > Pagesを選択します。
  3. ドメイン名の横にあるドメインの消去( remove )を選択します。
  4. プロンプトが表示されたら、ドメインの消去を選択します。

トラブルシューティング

ドメインの検証

ドメイン検証TXTエントリを適切にConfigureしたことを手動で検証するには、ターミナルで次のコマンドを実行します。

dig _gitlab-pages-verification-code.<YOUR-PAGES-DOMAIN> TXT

次の出力を想定します。

;; ANSWER SECTION:
_gitlab-pages-verification-code.<YOUR-PAGES-DOMAIN>. 300 IN TXT "gitlab-pages-verification-code=<YOUR-VERIFICATION-CODE>"

登録しようとしているドメイン名と同じドメイン名で検証コードを追加すると役立つ場合があります。

ルートドメインの場合:

からのDNSレコードをに設定します。
example.comTXTgitlab-pages-verification-code=00112233445566778899aabbccddeeff
_gitlab-pages-verification-code.example.comTXTgitlab-pages-verification-code=00112233445566778899aabbccddeeff

サブドメインの場合:

からのDNSレコードをに設定します。
www.example.comTXTgitlab-pages-verification-code=00112233445566778899aabbccddeeff
_gitlab-pages-verification-code.www.example.comTXTgitlab-pages-verification-code=00112233445566778899aabbccddeeff