- カスタムドメインの設定
- PagesへのSSL/TLS証明書の追加
- GitLab Pagesのウェブサイトを強制的にHTTPS化します。
- カスタムドメインの編集
- カスタムドメインの削除
- トラブルシューティング
GitLab Pagesカスタムドメイン
GitLab 15.4で導入された、SAMLやSCIMでプロビジョニングされたユーザーのEメール確認を回避するために認証済みドメインを使用することができます。
カスタムドメインを使うこともできます:
- GitLab Pages.
- SAMLやSCIMでプロビジョニングされたユーザーのEメール確認を回避するため。この方法でカスタムドメインを使用する場合、GitLab Pagesの機能を使用しますが、前提条件を省略することができます。
一つ以上のカスタムドメイン名を使用するには
- カスタムルートドメインまたはサブドメインを追加します。
- SSL/TLS認証を追加します。
カスタムドメインの設定
カスタムドメイン名でPagesを設定するには、以下の要件と手順をお読みください。
前提条件
- 管理者がGitLab Pages カスタムドメイン用にサーバーを設定していること。
- GitLab Pagesウェブサイトが稼働しており、デフォルトのPagesドメイン(
*.gitlab.io
、GitLab.comの場合)で提供されています。 - カスタムドメイン名
example.com
またはサブドメインsubdomain.example.com
。 - ドメインのサーバーコントロールパネルにアクセスし、DNSレコードを設定します:
- ドメインを GitLab Pages サーバーに向ける DNS レコード (
A
,ALIAS
, またはCNAME
)。その名前に複数の DNS レコードがある場合は、ALIAS
レコードを使用する必要があります。 - ドメインの所有権を確認するための DNS
TXT
レコード。
- ドメインを GitLab Pages サーバーに向ける DNS レコード (
ステップ
以下の手順に従って、カスタムドメインをPagesに追加してください。DNSレコードの概要については、こちらのドキュメントも参照してください。
1.カスタムドメインの追加
GitLab Pagesにカスタムドメインを追加するには:
- 左のサイドバーで「検索」または「移動」を選択してあなたのプロジェクトを検索します。
- 左サイドバーで、[デプロイ] > [Pages]を選択します。
- 右上の[New Domain]を選択します。
- Domainにドメイン名を入力します。
- オプション。証明書]で、[Let’s Encryptを使用した証明書の自動管理]トグルをオフにして、SSL/TLS証明書を追加します。証明書と鍵は後で追加することもできます。
- 新しいドメインの作成]を選択します。
2.認証コードを取得
新しいドメインを Pages に追加すると、認証コードが表示されます。GitLab から値をコピーし、次のステップでTXT
レコードとしてドメインのコントロールパネルに貼り付けます。
3.DNSレコードの設定
PagesのDNSレコードの概要については、このドキュメントをお読みください。この話題に詳しい場合は、Pagesサイトで使用したいドメインの種類に従って、以下の手順に従ってください:
-
ルートドメインの場合、
example.com
. -
サブドメインについては、
subdomain.example.com
。 - 両方
セルフマネージド・インスタンスではIPv6を設定できますが、GitLab.comのPagesでは現在IPv6は設定されていません。詳しくはこのイシューに従ってください。
ルートドメインの場合
ルートドメイン(example.com
)は必須です:
より | DNSレコード | に |
---|---|---|
example.com | A | 35.185.44.232 |
_gitlab-pages-verification-code.example.com | TXT | gitlab-pages-verification-code=00112233445566778899aabbccddeeff |
GitLab.com 上のプロジェクトの場合、この IP は35.185.44.232
です。他のGitLabインスタンス(CEやEE)にあるプロジェクトの場合は、この情報(あなたのインスタンスで動いているPagesサーバーのIPアドレス)をシステム管理者に問い合わせてください。
A
レコードの A
代わりに DNS apexCNAME
レコードを追加することができます。そうすることのA
主な利点は、GitLab.com上のGitLab PagesのIPが何らかの理由で変更さ A
れたときに、レコードをA
更新する必要が A
ないことです。例外はいくつかあるかもしれませんが、ルートドメインにMX
レコードを設定した場合はうまくいかないことが多いので、 この方法はおすすめしません。サブドメインの場合
サブドメイン (subdomain.example.com
) が必要です:
- DNS
ALIAS
またはCNAME
レコード あなたのサブドメインを Pages サーバーに指定します。 - ドメインの所有権を確認するためのDNS
TXT
レコード 。
より | DNSレコード | に |
---|---|---|
subdomain.example.com |
ALIAS /CNAME
| namespace.gitlab.io |
_gitlab-pages-verification-code.subdomain.example.com | TXT | gitlab-pages-verification-code=00112233445566778899aabbccddeeff |
ユーザーであろうとプロジェクトのウェブサイトであろうと、DNSレコードはパスなしであなたのPagesドメイン(namespace.gitlab.io
)を指すべきです。
ルートとサブドメインの両方
サブドメインとルートドメインの両方を同じウェブサイトに向ける必要がある場合がいくつかあります。インスタンスンスでは、example.com
とwww.example.com
。
これらは必要です:
- ドメインのDNS
A
レコード。 - サブドメインのDNS
ALIAS
/CNAME
レコード。 - それぞれのDNS
TXT
レコード。
より | DNSレコード | に |
---|---|---|
example.com | A | 35.185.44.232 |
_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を使用している場合は、Redirectingwww.domain.com
todomain.com
with Cloudflareを確認してください。
注意事項
domain.com
を GitLab Pages サイトに向ける場合は、CNAME
レコードを使わないでください。代わりにA
レコードを使ってください。- デフォルトの Pages ドメインの後に特別な文字を追加しないでください。例えば、
subdomain.domain.com
やnamespace.gitlab.io/
を指定しないでください。ドメインホスティングプロバイダーによっては、末尾のドット (namespace.gitlab.io.
) を要求する場合があります。- GitLab.comのGitLab Pages IPは2017年に変更されました。
- 2018年、GitLab.comのGitLab Pages IPが
52.167.214.135
から35.185.44.232
に変更されました。
4.ドメインの所有権を確認
すべてのDNSレコードを追加した後、ドメインの所有者を確認します:
- 左のサイドバーで「検索」または「移動」を選択してあなたのプロジェクトを検索します。
- 左サイドバーで、[デプロイ] > [Pages]を選択します。
- ドメイン名の横にある[Edit(編集)]を選択します。
- 検証ステータスで、検証の再試行({retry})を選択します。
ドメインがアクティビティになると同時に、ドメイン名を通じてウェブサイトが利用できるようになります。
注:
- ドメイン認証はGitLab.comユーザーのために必要です。GitLabセルフマネージドインスタンスの場合、GitLab管理者はカスタムドメイン認証を無効にするオプションがあります。
- DNSのプロパゲーションには時間がかかることがあります(最大24時間)が、通常は数分で完了します。それが完了するまで、検証は失敗し、あなたのドメインにアクセスしようとすると404になります。
- ドメインの検証が完了したら、検証レコードをそのままにしておきます。ドメインは定期的に再検証され、レコードが削除されると無効になることがあります。
ドメインエイリアスの追加
同じプロジェクトに複数のエイリアス(カスタムドメインとサブドメイン)を追加することができます。エイリアスは、同じ部屋に通じる多くのドアがあるように理解できます。
あなたのサイトに設定したすべてのエイリアスは、設定 > Pagesにリストされています。このページから、エイリアスを表示、追加、削除することができます。
Cloudflare を使用してwww.domain.com
をdomain.com
にリダイレクトします。
Cloudflareを使えば、www.domain.com
とdomain.com
の両方をGitLabに追加することなく、www
をdomain.com
にリダイレクトすることができます。
そのためには、CNAME
レコードに関連づけられた Cloudflare のページルールを使って、www.domain.com
をdomain.com
にリダイレクトします。次のように設定します:
- Cloudflareで、
domain.com
35.185.44.232
を指すDNSA
レコードを作成します。 - GitLab で、GitLab Pages にドメインを追加し、検証コードを取得します。
- Cloudflareで、ドメインを検証するためにDNS
TXT
レコードを作成します。 - GitLabで、ドメインを確認します。
- Cloudflareで、
www
domain.com
を指すDNSCNAME
レコードを作成します。 - Cloudflareで、
www.domain.com
をdomain.com
を指す Page Rule を追加します:- ドメインのダッシュボードに移動し、トップナビゲーションでPage Rulesを選択します。
- ページルールの作成」を選択します。
- ドメイン
www.domain.com
を入力し、+設定の追加を選択します。 - ドロップダウンリストから「転送URL」を選択し、ステータスコード「301 - 恒久的なリダイレクト」を選択します。
- 転送先URL
https://domain.com
を入力します。
PagesへのSSL/TLS証明書の追加
SSL/TLS証明書の概要については、この文書をお読みください。
GitLab Pagesでカスタムドメインをセキュリティで保護するには、以下の方法があります:
- GitLab PagesとLet’s Encryptインテグレーションを使用すると、PagesドメインのSSL証明書を自動的に取得し、更新します。
- 以下の手順に従って、手動でGitLab PagesウェブサイトにSSL/TLS証明書を追加します。
SSL/TLS証明書の手動追加
以下の条件を満たす証明書であれば、どのような証明書でも使用できます:
- カスタムドメインでアクセス可能なGitLab Pagesウェブサイトが稼働していること。
- PEM証明書:CAによって生成された証明書で、Certificate(PEM) フィールドに追加する必要があります。
- 中間証明書 : (別名 「ルー ト 証明書」) 暗号化キーチ ェーンの一部であ り 、 CA を識別す る も のです。通常はPEM証明書と一緒になっていますが、手動で追加する必要がある場合もあります。Cloudflare証明書もその一つです。
- 秘密鍵は暗号化された鍵で、PEMをドメインに対して検証します。
例えば、Cloudflare証明書はこれらの要件を満たしています。
ステップ
-
新しいドメインを追加するときに証明書を追加するには、次の手順に従います:
- 左のサイドバーで「検索」または「移動」を選択してあなたのプロジェクトを検索します。
- 左サイドバーで、[デプロイ] > [Pages]を選択します。
- 右上の[New Domain]を選択します。
- Domainにドメイン名を入力します。
- 証明書]で、[Let’s Encryptを使用した証明書の自動管理]トグルをオフにして、SSL/TLS証明書を追加します。
- 新しいドメインの作成]を選択します。
-
以前に追加したドメインに証明書を追加するには
- 左のサイドバーで「検索」または「移動」を選択してあなたのプロジェクトを検索します。
- 左サイドバーで、[デプロイ] > [Pages]を選択します。
- ドメイン名の横にある[Edit(編集)]を選択します。
- 証明書]で、[Let’s Encryptを使用した証明書の自動管理]トグルをオフにして、SSL/TLS証明書を追加します。
- 変更を保存を選択します。
- PEM 証明書を対応するフィールドに追加します。
- 証明書に中間証明書がない場合は、ルート証明書(通常、CAのウェブサイトから入手可能)をコピー&ペーストして、PEM証明書と同じフィールドにペーストします。
- 秘密鍵をコピーし、最後のフィールドに貼り付けます。
証明書や暗号化キーを通常のテキストエディタで開かないでください。必ずコードエディター(Sublime Text、Atom、Dreamweaver、Bracketsなど)を使用してください。
GitLab Pagesのウェブサイトを強制的にHTTPS化します。
ウェブサイト訪問者のセキュリティをさらに高めるために、GitLab PagesのHTTPS化を強制することができます。そうすることで、HTTPであなたのウェブサイトを訪問しようとするすべての試みは、301を通して自動的にHTTPSにリダイレクトされます。
GitLabのデフォルトドメインでも、カスタムドメインでも(有効な証明書を設定している限り)機能します。
この設定を有効にするには
- 左のサイドバーで「検索」または「移動」を選択してあなたのプロジェクトを検索します。
- 左サイドバーで、[デプロイ] > [Pages]を選択します。
- Force HTTPS (requires valid certificates)チェックボックスを選択します。
- 変更を保存を選択します。
GitLab Pages の前に Cloudflare CDN を使う場合は、SSL 接続の設定をflexible
ではなくfull
にしてください。詳しくはCloudflare CDN の説明をご覧ください。
カスタムドメインの編集
カスタムドメインは以下のように編集できます:
- カスタムドメインの表示
- 追加するDNSレコードを表示します。
- TXT検証エントリを表示します。
- 検証を再試行します。
- 証明書の設定を編集します。
カスタムドメインを編集するには
- 左のサイドバーで「検索」または「移動」を選択してあなたのプロジェクトを検索します。
- デプロイ > Pagesを選択します。
- ドメイン名の横にある[Edit(編集)]を選択します。
カスタムドメインの削除
カスタムドメインを削除すると、そのドメインは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 |