GitLab Pagesカスタムドメイン
- プラン: Free、Premium、Ultimate
- 提供形態: GitLab.com、GitLab Self-Managed
カスタムドメインは、以下で使用できます:
- GitLab Pages。
- SAMLまたはSCIMプロビジョニングされたユーザーのユーザーメール確認をバイパスする。カスタムドメインをこの方法で使用する場合、GitLab Pages機能を使用しますが、前提条件をスキップできます。
1つまたは複数のカスタムドメイン名を使用するには:
- カスタムルートドメインまたはサブドメインを追加します。
- SSL/TLS証明書を追加します。
最も一般的なパブリックメールドメインは検証できません。
カスタムドメインを設定する
カスタムドメインでPagesを設定するには、以下の手順を実行します。
前提条件
- 管理者がGitLab Pagesカスタムドメインのサーバーを設定している。
- GitLab PagesのWebサイトが稼働中で、デフォルトのPagesドメイン(GitLab.comの場合
*.gitlab.io)で提供されている。 - カスタムドメイン名
example.comまたはサブドメインsubdomain.example.com。 - DNSレコードをセットアップするための、ドメインのサーバーコントロールパネルへのアクセス:
- ドメインをGitLab Pagesサーバーに指定するDNSレコード(
A、AAAA、ALIAS、またはCNAME)。その名前に複数のDNSレコードがある場合は、ALIASレコードを使用する必要があります。 - ドメインの所有権を検証するためのDNS
TXTレコード。
- ドメインをGitLab Pagesサーバーに指定するDNSレコード(
DNSレコードの概要については、GitLab Pages DNSレコードを参照してください。
ステップ1: カスタムドメインを追加する
カスタムドメインをGitLab Pagesに追加するには:
- 上部のバーで、検索または移動先を選択して、プロジェクトを見つけます。
- デプロイ > Pagesを選択します。
- 右上隅で、新しいドメインを選択します。
- ドメインに、ドメイン名を入力します。
- オプション。証明書で、Let’s Encryptを用いた自動証明書管理切替をオフにして、SSL/TLS証明書を追加します。証明書とキーは後で追加することもできます。
- 新しいドメインを作成を選択します。
ステップ2: 検証コードを取得する
Pagesに新しいドメインを追加すると、GitLabは検証コードを表示します。値をコピーし、次のステップでドメインのコントロールパネルにTXTレコードとして貼り付けます。
検証ステータスフィールドの構造は次のとおりです:
- 名前/ホスト:
- ルートドメインの場合:
_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)には、以下が必要です:
- 次のうち少なくとも1つ:
- ドメインをPagesサーバーに指定するDNS
Aレコード。 - ドメインをPagesサーバーに指定するDNS
AAAAレコード。
- ドメインをPagesサーバーに指定するDNS
- ドメインの所有権を検証するための
TXTレコード。
| 送信元 | DNSレコード | 宛先 |
|---|---|---|
example.com | A | 35.185.44.232 |
example.com | AAAA | 2600:1901:0:7b8a:: |
_gitlab-pages-verification-code.example.com | TXT | gitlab-pages-verification-code=00112233445566778899aabbccddeeff |
GitLab.comのプロジェクトの場合、IPv4アドレスは35.185.44.232、IPv6アドレスは2600:1901:0:7b8a::です。
他のGitLabインスタンス(CEまたはEE)のプロジェクトの場合は、システム管理者に連絡して、インスタンスのPagesサーバーIPアドレスをリクエストしてください。
ルートドメインにAまたはAAAAレコードの代わりにDNSアペックスCNAMEレコードを使用しないでください。ルートドメインのMX DNSレコードを設定した場合、このメソッドはおそらく機能しません。
サブドメイン
サブドメイン(subdomain.example.com)には、以下が必要です:
- サブドメインをPagesサーバーに指定するDNS
ALIASまたはCNAMEレコード。 - ドメインの所有権を検証するためのDNS
TXTレコード。
| 送信元 | DNSレコード | 宛先 |
|---|---|---|
subdomain.example.com | ALIAS/CNAME | namespace.gitlab.io |
_gitlab-pages-verification-code.subdomain.example.com | TXT | gitlab-pages-verification-code=00112233445566778899aabbccddeeff |
ユーザーまたはプロジェクトのWebサイトであるかどうかにかかわらず、DNSレコードは、パスなしで、Pagesドメイン(namespace.gitlab.io)を指定する必要があります。
ルートドメインとサブドメインの両方
たとえば、ルートドメインとサブドメインの両方を同じWebサイト(example.comやwww.example.comなど)に指定するには、以下が必要です:
- ドメインのDNS
Aレコード。 - ドメインのDNS
AAAAレコード。 - サブドメインのDNS
ALIAS/CNAMEレコード。 - それぞれのDNS
TXTレコード。
| 送信元 | DNSレコード | 宛先 |
|---|---|---|
example.com | A | 35.185.44.232 |
example.com | AAAA | 2600:1901:0:7b8a:: |
_gitlab-pages-verification-code.example.com | TXT | gitlab-pages-verification-code=00112233445566778899aabbccddeeff |
www.example.com | CNAME | namespace.gitlab.io |
_gitlab-pages-verification-code.www.example.com | TXT | gitlab-pages-verification-code=00112233445566778899aabbccddeeff |
Cloudflareを使用している場合は、Cloudflareを使用してwww.domain.comからdomain.comにリダイレクトするを参照してください。
追加の注意点:
domain.comをGitLab Pagesサイトに指定する場合は、CNAMEレコードを使用しないでください。代わりにAレコードを使用してください。- デフォルトのPagesドメインの後に特殊文字を追加しないでください。たとえば、
subdomain.domain.comをnamespace.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レコードを追加した後は:
- 上部のバーで、検索または移動先を選択して、プロジェクトを見つけます。
- デプロイ > 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.comをdomain.comにリダイレクトできます:
- Cloudflareで、次のいずれかを少なくとも1つ作成します:
domain.comを35.185.44.232に指定するDNSAレコード。domain.comを2600:1901:0:7b8a::に指定するDNSAAAAレコード。
- GitLabで、ドメインをGitLab Pagesに追加し、検証コードを取得します。
- Cloudflareで、ドメインを検証するためのDNS
TXTレコードを作成します。 - GitLabで、ドメインを検証します。
- Cloudflareで、
wwwをdomain.comに指定するDNSCNAMEレコードを作成します。 - Cloudflareで、
www.domain.comをdomain.comに指定するページルールを追加します:- ドメインのダッシュボードに移動します。上部のナビゲーションで、Page Rulesを選択します。
- Create Page Ruleを選択します。
- ドメイン
www.domain.comを入力し、+ Add a Settingを選択します。 - ドロップダウンリストからForwarding URLを選択し、ステータスコード301 - Permanent Redirectを選択します。
- 宛先URL
https://domain.comを入力します。
PagesにSSL/TLS証明書を追加する
GitLab Pagesでカスタムドメインを保護するには、次の操作を実行できます:
- SSL証明書を自動的に取得および更新するには、Let’s Encryptインテグレーションを使用します。
- SSL/TLS証明書を手動で追加します。
SSL/TLS証明書の概要については、GitLab PagesのSSL/TLS証明書を参照してください。
SSL/TLS証明書を手動で追加する
前提条件:
カスタムドメインでアクセス可能なGitLab PagesのWebサイトが稼働中。
次のSSL証明書コンポーネント:
- PEM証明書: CAによって生成された証明書。
- 中間証明書: ルート証明書とも呼ばれ、CAを識別します。通常はPEM証明書と組み合わされますが、一部の証明書(Cloudflare証明書など)では、個別に追加する必要があります。
- 秘密キー: ドメインに対してPEMを検証する暗号化されたキー。
新しいドメインの作成時に証明書を追加するには:
- 上部のバーで、検索または移動先を選択して、プロジェクトを見つけます。
- デプロイ > Pagesを選択します。
- 右上隅で、新しいドメインを選択します。
- ドメインに、ドメイン名を入力します。
- 証明書で、Let’s Encryptを用いた自動証明書管理切替をオフにします。
- 証明書フィールドに入力します。
- 新しいドメインを作成を選択します。
既存のドメインに証明書を追加するには:
- 上部のバーで、検索または移動先を選択して、プロジェクトを見つけます。
- デプロイ > Pagesを選択します。
- ドメイン名の横にある編集 ( ) を選択します。
- 証明書で、Let’s Encryptを用いた自動証明書管理切替をオフにします。
- 証明書フィールドに入力します。
- 変更を保存を選択します。
証明書フィールドに入力する場合:
- **証明書 (PEM)**に、PEM証明書を貼り付けます。証明書に個別の中間証明書が必要な場合は、同じフィールドに貼り付け、空白行で区切ります。詳細については、Cloudflare証明書でGitLab Pagesを設定するを参照してください。
- 秘密キーフィールドに、秘密キーを貼り付けます。
通常のテキストエディタで証明書または暗号化キーを開かないでください。Sublime Text、Dreamweaver、またはVS Codeのようなコードエディタを使用してください。
GitLab Pages WebサイトにHTTPSを強制する
GitLab PagesにHTTPSを強制することで、HTTPリクエストを301リダイレクトでHTTPSに自動的にリダイレクトできます。これは、デフォルトのGitLab Pagesドメインと、有効な証明書を持つカスタムドメインで機能します。
HTTPSを強制するには:
- 上部のバーで、検索または移動先を選択して、プロジェクトを見つけます。
- デプロイ > Pagesを選択します。
- **HTTPSを強制 (有効な証明書が必要)**チェックボックスを選択します。
- 変更を保存を選択します。
GitLab Pagesの前にCloudflare CDNを使用する場合は、SSL接続設定をflexibleではなくfullに設定します。詳細については、Cloudflare CDNの手順を参照してください。
カスタムドメインを編集する
カスタムドメインを編集して、次の操作を実行できます:
- カスタムドメインを表示します。
- 追加するDNSレコードを表示します。
- TXT検証エントリを表示します。
- 検証を再試行します。
- 証明書の設定を編集します。
カスタムドメインを編集するには:
- 上部のバーで、検索または移動先を選択して、プロジェクトを見つけます。
- デプロイ > Pagesを選択します。
- ドメイン名の横にある編集 ( ) を選択します。
カスタムドメインを削除する
カスタムドメインを削除すると、ドメインはGitLabで検証されなくなり、GitLab Pagesで使用できなくなります。
カスタムドメインを削除するには:
- 上部のバーで、検索または移動先を選択して、プロジェクトを見つけます。
- デプロイ > Pagesを選択します。
- ドメイン名の横にあるドメインの消去 ( ) を選択します。
- プロンプトが表示されたら、ドメインの消去を選択します。
トラブルシューティング
ドメインの検証
ドメインの検証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.com | TXT | gitlab-pages-verification-code=00112233445566778899aabbccddeeff |
_gitlab-pages-verification-code.example.com | TXT | gitlab-pages-verification-code=00112233445566778899aabbccddeeff |
サブドメインの場合:
| 送信元 | DNSレコード | 宛先 |
|---|---|---|
www.example.com | TXT | gitlab-pages-verification-code=00112233445566778899aabbccddeeff |
_gitlab-pages-verification-code.www.example.com | TXT | gitlab-pages-verification-code=00112233445566778899aabbccddeeff |


