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

GitLab Pagesカスタムドメイン

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

カスタムドメインは、以下で使用できます:

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

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

カスタムドメインでPagesを設定するには、以下の手順を実行します。

前提条件

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

DNSレコードの概要については、GitLab Pages DNSレコードを参照してください。

ステップ1: カスタムドメインを追加する

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

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

ステップ2: 検証コードを取得する

Pagesに新しいドメインを追加すると、GitLabは検証コードを表示します。値をコピーし、次のステップでドメインのコントロールパネルにTXTレコードとして貼り付けます。

新しいドメイン用に生成された検証コードを示すGitLab Pages。

検証ステータスフィールドの構造は次のとおりです:

  • 名前/ホスト:
    • ルートドメインの場合: _gitlab-pages-verification-code.example.com
    • サブドメインの場合: _gitlab-pages-verification-code.subdomain.example.com
  • DNSレコードタイプ: TXT
  • 値: gitlab-pages-verification-code=00112233445566778899aabbccddeeff(GitLabからの実際のコードを使用)

Cloudflareなどの一部のDNSプロバイダーは、名前フィールドやホストフィールドにドメイン名を自動的に追加するものがあります。プロバイダーがこれを行う場合は、ルートドメインの場合は_gitlab-pages-verification-code、サブドメインの場合は_gitlab-pages-verification-code.subdomainのみを入力します。

ステップ3: DNSレコードを設定する

Pagesサイトで使用するドメインのタイプに従ってDNSレコードを設定するには、次のいずれかを選択します:

ルートドメイン

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

送信元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またはEE)のプロジェクトの場合は、システム管理者に連絡して、インスタンスのPagesサーバーIPアドレスをリクエストしてください。

GitLab Pagesサーバーに追加されたAレコードを示すDNS設定画面。

ルートドメインにAまたはAAAAレコードの代わりにDNSアペックスCNAMEレコードを使用しないでください。ルートドメインのMX DNSレコードを設定した場合、このメソッドはおそらく機能しません。

サブドメイン

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

送信元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など)に指定するには、以下が必要です:

  • ドメインのDNS Aレコード。
  • ドメインのDNS AAAAレコード。
  • サブドメインのDNS ALIAS/CNAMEレコード。
  • それぞれのDNS 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にリダイレクトするを参照してください。

追加の注意点:

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

ステップ4: ドメインの所有権を確認する

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

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

ドメインの検証を再試行するオプションを示すGitLab Pagesの設定。

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

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

追加の注意点:

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

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

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

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

Cloudflareを使用してwww.domain.comからdomain.comへリダイレクトする

Cloudflareを使用している場合は、両方のドメインをGitLabに追加せずに、ページルールを使用してwww.domain.comdomain.comにリダイレクトできます:

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

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

GitLab Pagesでカスタムドメインを保護するには、次の操作を実行できます:

SSL/TLS証明書の概要については、GitLab PagesのSSL/TLS証明書を参照してください。

SSL/TLS証明書を手動で追加する

前提条件:

  • カスタムドメインでアクセス可能なGitLab PagesのWebサイトが稼働中。

  • 次のSSL証明書コンポーネント:

    • PEM証明書: CAによって生成された証明書。
    • 中間証明書: ルート証明書とも呼ばれ、CAを識別します。通常はPEM証明書と組み合わされますが、一部の証明書(Cloudflare証明書など)では、個別に追加する必要があります。
    • 秘密キー: ドメインに対してPEMを検証する暗号化されたキー。

新しいドメインの作成時に証明書を追加するには:

  1. 上部のバーで、検索または移動先を選択して、プロジェクトを見つけます。
  2. デプロイ > Pagesを選択します。
  3. 右上隅で、新しいドメインを選択します。
  4. ドメインに、ドメイン名を入力します。
  5. 証明書で、Let’s Encryptを用いた自動証明書管理切替をオフにします。
  6. 証明書フィールドに入力します。
  7. 新しいドメインを作成を選択します。

既存のドメインに証明書を追加するには:

  1. 上部のバーで、検索または移動先を選択して、プロジェクトを見つけます。
  2. デプロイ > Pagesを選択します。
  3. ドメイン名の横にある編集 ( pencil ) を選択します。
  4. 証明書で、Let’s Encryptを用いた自動証明書管理切替をオフにします。
  5. 証明書フィールドに入力します。
  6. 変更を保存を選択します。

証明書フィールドに入力する場合:

  • **証明書 (PEM)**に、PEM証明書を貼り付けます。証明書に個別の中間証明書が必要な場合は、同じフィールドに貼り付け、空白行で区切ります。詳細については、Cloudflare証明書でGitLab Pagesを設定するを参照してください。
  • 秘密キーフィールドに、秘密キーを貼り付けます。

通常のテキストエディタで証明書または暗号化キーを開かないでください。Sublime Text、Dreamweaver、またはVS Codeのようなコードエディタを使用してください。

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

GitLab PagesにHTTPSを強制することで、HTTPリクエストを301リダイレクトでHTTPSに自動的にリダイレクトできます。これは、デフォルトのGitLab Pagesドメインと、有効な証明書を持つカスタムドメインで機能します。

HTTPSを強制するには:

  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 DNSエントリが正しく設定されていることを手動で確認するには、ターミナルで次のコマンドを実行します:

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