GitLab Pagesカスタムドメイン
- プラン: Free、Premium、Ultimate
- 提供形態: GitLab.com、GitLab Self-Managed
カスタムドメインは、以下の場合に使用できます。
- GitLab Pagesを使用。
- SAMLまたはSCIMでプロビジョニングされたユーザーのユーザーEメールの確認を回避する。カスタムドメインをこのように使用する場合は、GitLab Pages機能を使用しますが、前提要件をスキップできます。
1つまたは複数のカスタムドメイン名を使用するには:
- カスタムルートドメインまたはサブドメインを追加します。
- SSL/TLS証明を追加します。
最も一般的なパブリックは検証できません。
カスタムドメインを設定する
カスタムドメイン名でPagesを設定するには、以下の要件と手順をお読みください。
前提要件
- 管理者がGitLab PagesカスタムドメインのサーバーをConfigureしている。
- GitLab PagesのWebサイトが起動し、実行され、デフォルトのPagesドメイン(
*.gitlab.io、GitLab.comの場合)で提供されている。 - カスタムドメイン名
example.comまたはサブドメインsubdomain.example.com。 - を設定するために、ドメインのサーバーコントロールパネルにアクセスします。
- ドメインをGitLab Pagesサーバーに(
A、AAAA、ALIAS、またはCNAME)。その名前に複数のがある場合は、ALIASレコードを使用する必要があります。 - ドメインの所有権を検証するための
TXT。
- ドメインをGitLab Pagesサーバーに(
ステップ
以下の手順に従って、カスタムドメインをPagesに追加します。の概要については、このドキュメントも参照してください。
1.カスタムドメインを追加する
カスタムドメインをGitLab Pagesに追加するには:
- 左側のサイドバーで、検索または移動先を選択して、プロジェクトを見つけます。
- デプロイ > Pagesを選択します。
- 右上隅で、新しいドメインを選択します。
- ドメインに、ドメイン名を入力します。
- オプション: 証明書で、Let’s Encryptを用いた自動証明書管理切替をオフにして、SSL/TLS証明書SSL/TLS証明書を追加します。証明書とキーは後で追加することもできます。証明書とキーは後で追加することもできます。
- 新しいドメインを作成を選択します。
2.検証コードを取得する
Pagesに新しいドメインを追加すると、検証コードがプロンプトに表示されます。GitLabから値をコピーし、ドメインのコントロールパネルにTXTレコードとして貼り付けます。
3.を設定する
Pagesのの概要については、このドキュメントをお読みください。この件について詳しい場合は、Pagesサイトで使用するドメインのタイプに応じて、以下の手順に従ってください。
- ルートドメインの場合、
example.com。 - サブドメインの場合、
subdomain.example.com。 - 両方の場合。
ルートドメインの場合
ルートドメイン(example.com)には以下が要件です。
| からの | 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またはGitLab Enterprise Edition)で稼働しているプロジェクトの場合は、システム管理者に問い合わせて、この情報(インスタンスで実行されているPagesサーバーのIPアドレス)を確認してください。
ルートドメインを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.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などです。
以下が要件となります。
- ドメインの
A。 - ドメインの
AAAA。 - サブドメインの
ALIAS/CNAME。 - それぞれの
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へのリダイレクトを確認してください。
追加の注意点:
- 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レコードを追加した後は:
- 左側のサイドバーで、検索または移動先を選択して、プロジェクトを見つけます。
- デプロイ > Pagesを選択します。
- ドメイン名の横にある編集( ) を選択します。
- 検証ステータスで、検証を再試行する( )を選択します。
ドメインがアクティブになるとすぐに、Webサイトがドメイン名で使用できるようになります。
インスタンスでドメイン検証が有効になっているGitLabでは、ドメインを7日間検証できない場合、そのドメインはGitLabプロジェクトから削除されます。
追加の注意点:
- ドメインの検証はrequired for GitLab.com users(GitLab.comユーザーに要件です)。GitLab Self-Managedの場合、GitLab管理者はカスタムドメインの検証を無効にするオプションがあります。
- の伝播には時間がかかる場合があります(最大24時間)が、通常は数分で完了します。完了するまで、検証に失敗し、ドメインへのアクセス試行の結果は404になります。
- ドメインが検証されたら、検証レコードをそのままにしておきます。ドメインは定期的に再検証され、レコードが削除されると無効になる場合があります。
ドメインエイリアスを追加する
同じプロジェクトに複数のエイリアス(カスタムドメインとサブドメイン)を追加できます。エイリアスは、同じ部屋に通じる多くのドアがあるものとして理解できます。
サイトに設定したすべてのエイリアスは、設定 > Pagesに一覧表示されます。そのページから、表示、追加、削除できます。
Cloudflareを使用してwww.domain.comをdomain.comにリダイレクトする
Cloudflareを使用している場合は、wwwとdomain.comの両方をGitLabに追加せずに、www.domain.comをdomain.comにリダイレクトできます。
これを行うには、www.domain.comをdomain.comにリダイレクトするために、CNAMEレコードに関連付けられたCloudflareのページルールを使用できます。次の設定を使用できます。
- Cloudflareで、次のいずれかを少なくとも1つ作成します。
domain.comを35.185.44.232にA。domain.comを2600:1901:0:7b8a::にAAAA。
- GitLabで、ドメインをGitLab Pagesに追加して、検証コードを取得します。
- Cloudflareで、ドメインを検証するための
TXTを作成します。 - GitLabで、ドメインを検証します。
- Cloudflareで、
wwwをdomain.comにCNAMEを作成します。 - Cloudflareで、
www.domain.comをdomain.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でカスタムドメインを保護するには、次のいずれかを選択できます。
- GitLab PagesとのLet’s Encryptインテグレーションを使用します。これにより、Pagesドメインのが自動的に取得および更新されます。
- 以下の手順に従って、SSL/TLS証明書を手動でGitLab Pages Webサイトに追加します。
SSL/TLS証明書の手動追加
次の要件を満たす任意の証明書を使用できます。
- GitLab PagesのWebサイトが起動し、実行され、カスタムドメインでアクセスできる。
- A PEM certificate(PEM証明書): 認証局によって生成された証明書であり、**証明書 (PEM)**フィールドに追加する必要があります。
- An intermediate certificate: (aka “root certificate”)**:(別名「ルート証明書」)とは、認証局を識別する暗号化キーチェーンの一部です。通常はPEM証明書と組み合わされますが、手動で追加する必要がある場合があります。Cloudflare証明書は、これらのケースの1つです。
- A private key(秘密キー): ドメインに対してPEMを検証する暗号化されたキーです。
たとえば、Cloudflare証明書はこれらの要件を満たしています。
ステップ
新しいドメインを追加する際に証明書を追加するには:
- 左側のサイドバーで、検索または移動先を選択して、プロジェクトを見つけます。
- 左側のサイドバーで、デプロイ > Pagesを選択します。
- 右上隅で、新しいドメインを選択します。
- Domain(Domain)に、ドメイン名を入力します。
- 証明書で、Let’s Encryptを用いた自動証明書管理切替をオフにして、SSL/TLS証明書を追加します。
- Create New Domain(新しいドメインを作成)を選択します。
以前に追加したドメインに証明書を追加するには:
- 左側のサイドバーで、検索または移動先を選択して、プロジェクトを見つけます。
- 左側のサイドバーで、デプロイ > Pagesを選択します。
- ドメイン名の横にある編集( ) を選択します。
- 証明書で、Let’s Encryptを用いた自動証明書管理切替をオフにして、SSL/TLS証明書を追加します。
- Save changes(変更を保存)を選択します。
- 対応するフィールドにPEM証明書を追加します。
- 証明書に中間証明書がない場合は、ルート証明書(通常は認証局のWebサイトから入手可能)をコピーして、PEM証明書と同じフィールドに貼り付け、その間に1行挿入します。
- 秘密キーをコピーして、最後のフィールドに貼り付けます。
通常のテキストエディタで証明書または暗号化キーをDo not(開かないでください)。常にコードエディタ(Sublime Text、Dreamweaver、Bracketsなど)を使用してください。
GitLab Pages WebサイトのHTTPSを強制する
Webサイトの訪問者をさらに安全にするために、GitLab PagesのHTTPSを強制することを選択できます。そうすることで、HTTP経由でWebサイトにアクセスしようとするすべての試行が、301を介してHTTPSに自動的にリダイレクトされます。
これは、GitLabのデフォルトのドメインとカスタムドメインの両方で機能します(有効な証明書を設定している限り)。
この設定を有効にするには、次の手順に従います。
- 左側のサイドバーで、検索または移動先を選択して、プロジェクトを見つけます。
- デプロイ > Pagesを選択します。
- **HTTPSを強制 (有効な証明書が必要)**チェックボックスを選択します。
- 変更を保存を選択します。
GitLab Pagesの前面でCloudflare CDNを使用する場合は、SSL接続設定をflexibleではなくfullに設定してください。詳細については、Cloudflare CDNの指示を参照してください。
カスタムドメインを編集する
カスタムドメインを編集して、以下を行うことができます。
- カスタムドメインを表示します。
- 追加するDNSレコードを表示します。
- TXT検証エントリを表示します。
- 検証を再試行します。
- 証明書の設定を編集します。
カスタムドメインを編集するには:
- 左側のサイドバーで、検索または移動先を選択して、プロジェクトを見つけます。
- デプロイ > Pagesを選択します。
- ドメイン名の横にある編集 ( ) を選択します。
カスタムドメインを削除する
カスタムドメインを削除すると、そのドメインはGitLabで検証されなくなり、GitLab Pagesで使用できなくなります。
カスタムドメインを削除するには:
- 左側のサイドバーで、検索または移動先を選択して、プロジェクトを見つけます。
- デプロイ > Pagesを選択します。
- ドメイン名の横にあるドメインの消去( )を選択します。
- プロンプトが表示されたら、ドメインの消去を選択します。
トラブルシューティング
ドメインの検証
ドメイン検証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.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 |


