<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Cloudflare on ポンコツ地方エンジニアの技術ブログ</title><link>https://blog-0847c6.gitlab.io/tags/cloudflare/</link><description>Recent content in Cloudflare on ポンコツ地方エンジニアの技術ブログ</description><generator>Hugo -- gohugo.io</generator><language>ja-jp</language><lastBuildDate>Tue, 12 May 2026 00:00:00 +0900</lastBuildDate><atom:link href="https://blog-0847c6.gitlab.io/tags/cloudflare/index.xml" rel="self" type="application/rss+xml"/><item><title>Cloudflare で取得した独自ドメインを GitLab Pages に設定する方法</title><link>https://blog-0847c6.gitlab.io/posts/2026/05/12/cloudflare-gitlab/</link><pubDate>Tue, 12 May 2026 00:00:00 +0900</pubDate><guid>https://blog-0847c6.gitlab.io/posts/2026/05/12/cloudflare-gitlab/</guid><description>&lt;h2 id="全体の流れ"&gt;&lt;a href="#%e5%85%a8%e4%bd%93%e3%81%ae%e6%b5%81%e3%82%8c" class="header-anchor"&gt;&lt;/a&gt;全体の流れ
&lt;/h2&gt;&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;GitLab側&lt;/strong&gt;: カスタムドメイン登録と検証コードの取得&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;GitLab側&lt;/strong&gt;: Pagesの公開範囲（Visibility）の設定&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Cloudflare側&lt;/strong&gt;: DNSレコード（CNAME/TXT）の設定&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;最終確認&lt;/strong&gt;: SSL証明書の発行とプロキシの有効化&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="1-gitlab側でカスタムドメインを追加する"&gt;&lt;a href="#1-gitlab%e5%81%b4%e3%81%a7%e3%82%ab%e3%82%b9%e3%82%bf%e3%83%a0%e3%83%89%e3%83%a1%e3%82%a4%e3%83%b3%e3%82%92%e8%bf%bd%e5%8a%a0%e3%81%99%e3%82%8b" class="header-anchor"&gt;&lt;/a&gt;1. GitLab側でカスタムドメインを追加する
&lt;/h2&gt;&lt;p&gt;まず、GitLabに「このドメインを使います」と伝えて、検証用のコードを発行します。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;プロジェクトの左メニュー &lt;strong&gt;[Deploy] &amp;gt; [Pages]&lt;/strong&gt; を開きます。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Domains &amp;amp; settings&lt;/strong&gt; のタブを選択し、&lt;strong&gt;[Add Domain]&lt;/strong&gt; をクリックします。&lt;br&gt;
&lt;img class="gallery-image" data-flex-basis="551px" data-flex-grow="229" height="496" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://blog-0847c6.gitlab.io/posts/2026/05/12/cloudflare-gitlab/01.webp" srcset="https://blog-0847c6.gitlab.io/posts/2026/05/12/cloudflare-gitlab/01_hu_da00e0f781f44ee3.webp 800w, https://blog-0847c6.gitlab.io/posts/2026/05/12/cloudflare-gitlab/01.webp 1139w" width="1139"&gt;&lt;/li&gt;
&lt;li&gt;使用したいドメイン（例: &lt;code&gt;blog.example.com&lt;/code&gt;）を入力し、&lt;strong&gt;[Create new domain]&lt;/strong&gt; をクリックします。&lt;br&gt;
&lt;img class="gallery-image" data-flex-basis="472px" data-flex-grow="196" height="445" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://blog-0847c6.gitlab.io/posts/2026/05/12/cloudflare-gitlab/02.webp" srcset="https://blog-0847c6.gitlab.io/posts/2026/05/12/cloudflare-gitlab/02_hu_719ccfceb99c9603.webp 800w, https://blog-0847c6.gitlab.io/posts/2026/05/12/cloudflare-gitlab/02.webp 876w" width="876"&gt;&lt;/li&gt;
&lt;li&gt;表示された画面から以下の2点をメモします。
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;TXTレコードの値&lt;/strong&gt;: &lt;code&gt;gitlab-pages-verification-code=...&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;CNAMEのターゲット&lt;/strong&gt;: &lt;code&gt;username-12345.gitlab.io&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="自分の名前空間targetを確認する方法"&gt;&lt;a href="#%e8%87%aa%e5%88%86%e3%81%ae%e5%90%8d%e5%89%8d%e7%a9%ba%e9%96%93target%e3%82%92%e7%a2%ba%e8%aa%8d%e3%81%99%e3%82%8b%e6%96%b9%e6%b3%95" class="header-anchor"&gt;&lt;/a&gt;自分の「名前空間（Target）」を確認する方法
&lt;/h3&gt;&lt;p&gt;GitLab PagesのデフォルトURLを確認してください。
例：&lt;code&gt;https://username-12345.gitlab.io/my-project&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;この場合、Cloudflare側で指定するターゲットは &lt;strong&gt;&lt;code&gt;username-12345.gitlab.io&lt;/code&gt;&lt;/strong&gt; です。
&lt;code&gt;.gitlab.io&lt;/code&gt; の直前まで（スラッシュより前のホスト部分）が、あなたの「名前空間（Namespace）」となります。&lt;/p&gt;
&lt;h2 id="2-プロジェクトはprivateのままpagesだけを公開する"&gt;&lt;a href="#2-%e3%83%97%e3%83%ad%e3%82%b8%e3%82%a7%e3%82%af%e3%83%88%e3%81%afprivate%e3%81%ae%e3%81%be%e3%81%bepages%e3%81%a0%e3%81%91%e3%82%92%e5%85%ac%e9%96%8b%e3%81%99%e3%82%8b" class="header-anchor"&gt;&lt;/a&gt;2. プロジェクトはPrivateのまま、Pagesだけを公開する
&lt;/h2&gt;&lt;p&gt;「ソースコードは見せたくないが、ブログとして誰でも見れるようにしたい」場合は、以下の設定が必須です。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;[Settings] &amp;gt; [General]&lt;/strong&gt; を開きます。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;[Visibility, project features and permissions]&lt;/strong&gt; セクションを展開します。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Project visibility&lt;/strong&gt; は &lt;strong&gt;[Private]&lt;/strong&gt; のままにします。&lt;/li&gt;
&lt;li&gt;下の方にある &lt;strong&gt;[Pages]&lt;/strong&gt; の権限設定を &lt;strong&gt;[Everyone]&lt;/strong&gt; に変更します。
&lt;ul&gt;
&lt;li&gt;※ここが &lt;code&gt;Only Project Members&lt;/code&gt; だと、独自ドメインにアクセスしてもGitLabのログイン画面が出てしまいます。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;[Save changes]&lt;/strong&gt; で保存します。&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="3-cloudflare側でdnsレコードを設定する"&gt;&lt;a href="#3-cloudflare%e5%81%b4%e3%81%a7dns%e3%83%ac%e3%82%b3%e3%83%bc%e3%83%89%e3%82%92%e8%a8%ad%e5%ae%9a%e3%81%99%e3%82%8b" class="header-anchor"&gt;&lt;/a&gt;3. Cloudflare側でDNSレコードを設定する
&lt;/h2&gt;&lt;p&gt;Cloudflareの管理画面の左メニューから &lt;strong&gt;[Domains] &amp;gt; [Overview]&lt;/strong&gt; を開き、該当のドメインをクリックします。&lt;/p&gt;
&lt;p&gt;&lt;img class="gallery-image" data-flex-basis="1048px" data-flex-grow="436" height="357" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://blog-0847c6.gitlab.io/posts/2026/05/12/cloudflare-gitlab/03.webp" srcset="https://blog-0847c6.gitlab.io/posts/2026/05/12/cloudflare-gitlab/03_hu_fa7e6c6c7efaf40f.webp 800w, https://blog-0847c6.gitlab.io/posts/2026/05/12/cloudflare-gitlab/03.webp 1559w" width="1559"&gt;&lt;/p&gt;
&lt;p&gt;さらに左メニューから &lt;strong&gt;[DNS] &amp;gt; [Records]&lt;/strong&gt; を開き、&lt;strong&gt;Add record&lt;/strong&gt; をクリックして、以下の2つのレコードを追加します。&lt;/p&gt;
&lt;p&gt;&lt;img class="gallery-image" data-flex-basis="555px" data-flex-grow="231" height="656" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://blog-0847c6.gitlab.io/posts/2026/05/12/cloudflare-gitlab/04.webp" srcset="https://blog-0847c6.gitlab.io/posts/2026/05/12/cloudflare-gitlab/04_hu_cd257f623ecf097.webp 800w, https://blog-0847c6.gitlab.io/posts/2026/05/12/cloudflare-gitlab/04.webp 1518w" width="1518"&gt;&lt;/p&gt;
&lt;h3 id="-cnameレコード接続用"&gt;&lt;a href="#-cname%e3%83%ac%e3%82%b3%e3%83%bc%e3%83%89%e6%8e%a5%e7%b6%9a%e7%94%a8" class="header-anchor"&gt;&lt;/a&gt;① CNAMEレコード（接続用）
&lt;/h3&gt;&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th style="text-align: left"&gt;項目&lt;/th&gt;
 &lt;th style="text-align: left"&gt;設定値の例&lt;/th&gt;
 &lt;th style="text-align: left"&gt;補足&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td style="text-align: left"&gt;&lt;strong&gt;Type&lt;/strong&gt;&lt;/td&gt;
 &lt;td style="text-align: left"&gt;&lt;code&gt;CNAME&lt;/code&gt;&lt;/td&gt;
 &lt;td style="text-align: left"&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: left"&gt;&lt;strong&gt;Name&lt;/strong&gt;&lt;/td&gt;
 &lt;td style="text-align: left"&gt;&lt;code&gt;blog&lt;/code&gt;&lt;/td&gt;
 &lt;td style="text-align: left"&gt;サブドメイン部分のみ入力&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: left"&gt;&lt;strong&gt;Target&lt;/strong&gt;&lt;/td&gt;
 &lt;td style="text-align: left"&gt;&lt;code&gt;username-12345.gitlab.io&lt;/code&gt;&lt;/td&gt;
 &lt;td style="text-align: left"&gt;先ほど確認したGitLabのホスト名&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: left"&gt;&lt;strong&gt;Proxy status&lt;/strong&gt;&lt;/td&gt;
 &lt;td style="text-align: left"&gt;&lt;strong&gt;DNS only (灰色雲)&lt;/strong&gt;&lt;/td&gt;
 &lt;td style="text-align: left"&gt;&lt;strong&gt;SSL発行をスムーズにするため最初は必ず「灰色」にする&lt;/strong&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="-txtレコードドメイン所有確認用"&gt;&lt;a href="#-txt%e3%83%ac%e3%82%b3%e3%83%bc%e3%83%89%e3%83%89%e3%83%a1%e3%82%a4%e3%83%b3%e6%89%80%e6%9c%89%e7%a2%ba%e8%aa%8d%e7%94%a8" class="header-anchor"&gt;&lt;/a&gt;② TXTレコード（ドメイン所有確認用）
&lt;/h3&gt;&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th style="text-align: left"&gt;項目&lt;/th&gt;
 &lt;th style="text-align: left"&gt;設定値の例&lt;/th&gt;
 &lt;th style="text-align: left"&gt;補足&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td style="text-align: left"&gt;&lt;strong&gt;Type&lt;/strong&gt;&lt;/td&gt;
 &lt;td style="text-align: left"&gt;&lt;code&gt;TXT&lt;/code&gt;&lt;/td&gt;
 &lt;td style="text-align: left"&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: left"&gt;&lt;strong&gt;Name&lt;/strong&gt;&lt;/td&gt;
 &lt;td style="text-align: left"&gt;&lt;code&gt;_gitlab-pages-verification-code.blog&lt;/code&gt;&lt;/td&gt;
 &lt;td style="text-align: left"&gt;&lt;code&gt;_gitlab-pages-verification-code.&lt;/code&gt; の後にサブドメイン名を付ける&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: left"&gt;&lt;strong&gt;Content&lt;/strong&gt;&lt;/td&gt;
 &lt;td style="text-align: left"&gt;&lt;code&gt;gitlab-pages-verification-code=...&lt;/code&gt;&lt;/td&gt;
 &lt;td style="text-align: left"&gt;GitLabからコピーした検証コード&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="4-仕上げ検証とプロキシ有効化"&gt;&lt;a href="#4-%e4%bb%95%e4%b8%8a%e3%81%92%e6%a4%9c%e8%a8%bc%e3%81%a8%e3%83%97%e3%83%ad%e3%82%ad%e3%82%b7%e6%9c%89%e5%8a%b9%e5%8c%96" class="header-anchor"&gt;&lt;/a&gt;4. 仕上げ：検証とプロキシ有効化
&lt;/h2&gt;&lt;h3 id="-gitlabで検証する"&gt;&lt;a href="#-gitlab%e3%81%a7%e6%a4%9c%e8%a8%bc%e3%81%99%e3%82%8b" class="header-anchor"&gt;&lt;/a&gt;① GitLabで検証する
&lt;/h3&gt;&lt;p&gt;DNS設定後、GitLabのPages設定画面で &lt;strong&gt;[Verify]&lt;/strong&gt;（更新マーク）ボタンを押します。「Verified」になれば成功です。&lt;/p&gt;
&lt;p&gt;&lt;img class="gallery-image" data-flex-basis="451px" data-flex-grow="188" height="470" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://blog-0847c6.gitlab.io/posts/2026/05/12/cloudflare-gitlab/05.webp" srcset="https://blog-0847c6.gitlab.io/posts/2026/05/12/cloudflare-gitlab/05_hu_e848a83d0f43a8b7.webp 800w, https://blog-0847c6.gitlab.io/posts/2026/05/12/cloudflare-gitlab/05.webp 884w" width="884"&gt;&lt;/p&gt;

 &lt;blockquote&gt;
 &lt;p&gt;⚠️ &lt;strong&gt;すぐに認証されない場合があります。&lt;/strong&gt; Cloudflare管理ドメインはDNSのTTLが短いため反映は比較的早いですが、DNSの浸透には最大48時間かかることがあります。Verifyが通らない場合は時間をおいて再試行してください。&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;h3 id="-ssl証明書の発行を待つ"&gt;&lt;a href="#-ssl%e8%a8%bc%e6%98%8e%e6%9b%b8%e3%81%ae%e7%99%ba%e8%a1%8c%e3%82%92%e5%be%85%e3%81%a4" class="header-anchor"&gt;&lt;/a&gt;② SSL証明書の発行を待つ
&lt;/h3&gt;&lt;p&gt;検証完了後、数分〜30分ほどでLet&amp;rsquo;s Encryptの証明書が自動発行され、&lt;code&gt;https://&lt;/code&gt; でアクセスできるようになります。&lt;/p&gt;
&lt;h3 id="-cloudflareのプロキシをonにする"&gt;&lt;a href="#-cloudflare%e3%81%ae%e3%83%97%e3%83%ad%e3%82%ad%e3%82%b7%e3%82%92on%e3%81%ab%e3%81%99%e3%82%8b" class="header-anchor"&gt;&lt;/a&gt;③ CloudflareのプロキシをONにする
&lt;/h3&gt;&lt;p&gt;&lt;code&gt;https://&lt;/code&gt; で正常に表示されたことを確認してから、CloudflareのDNSレコードを &lt;strong&gt;[Proxied（オレンジ雲）]&lt;/strong&gt; に切り替えます。&lt;/p&gt;
&lt;h4 id="プロキシを-on-にするメリット"&gt;&lt;a href="#%e3%83%97%e3%83%ad%e3%82%ad%e3%82%b7%e3%82%92-on-%e3%81%ab%e3%81%99%e3%82%8b%e3%83%a1%e3%83%aa%e3%83%83%e3%83%88" class="header-anchor"&gt;&lt;/a&gt;プロキシを ON にするメリット
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;CDNによる高速化&lt;/strong&gt;: 画像やJSがキャッシュされ、表示速度が向上します。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;セキュリティ強化&lt;/strong&gt;: DDoS保護やWAFが利用可能になります。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;アクセス解析&lt;/strong&gt;: Cloudflare側でトラフィックやアクセス地域を確認できます。&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="-cloudflareのssltls設定を変更する"&gt;&lt;a href="#-cloudflare%e3%81%aessltls%e8%a8%ad%e5%ae%9a%e3%82%92%e5%a4%89%e6%9b%b4%e3%81%99%e3%82%8b" class="header-anchor"&gt;&lt;/a&gt;④ CloudflareのSSL/TLS設定を変更する
&lt;/h3&gt;&lt;p&gt;プロキシを有効にしたら、Cloudflareの &lt;strong&gt;[SSL/TLS] &amp;gt; [Overview]&lt;/strong&gt; を開き、暗号化モードを確認します。&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th style="text-align: left"&gt;モード&lt;/th&gt;
 &lt;th style="text-align: left"&gt;説明&lt;/th&gt;
 &lt;th style="text-align: left"&gt;推奨&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td style="text-align: left"&gt;&lt;code&gt;Full&lt;/code&gt;&lt;/td&gt;
 &lt;td style="text-align: left"&gt;GitLab側の証明書を検証せず暗号化&lt;/td&gt;
 &lt;td style="text-align: left"&gt;&lt;strong&gt;初心者・通常利用向け&lt;/strong&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: left"&gt;&lt;code&gt;Full (strict)&lt;/code&gt;&lt;/td&gt;
 &lt;td style="text-align: left"&gt;GitLab側にLet&amp;rsquo;s Encryptなど信頼されたCA発行の証明書が必要&lt;/td&gt;
 &lt;td style="text-align: left"&gt;SSL発行が正常に完了していれば利用可&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;

 &lt;blockquote&gt;
 &lt;p&gt;⚠️ &lt;code&gt;Full (strict)&lt;/code&gt; はSSL証明書が有効な状態でのみ機能します。証明書の発行前や更新タイミングで一時的にエラーになるリスクがあるため、迷ったら &lt;strong&gt;&lt;code&gt;Full&lt;/code&gt;&lt;/strong&gt; を選択してください。&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;h2 id="5-運用上の注意キャッシュの扱い"&gt;&lt;a href="#5-%e9%81%8b%e7%94%a8%e4%b8%8a%e3%81%ae%e6%b3%a8%e6%84%8f%e3%82%ad%e3%83%a3%e3%83%83%e3%82%b7%e3%83%a5%e3%81%ae%e6%89%b1%e3%81%84" class="header-anchor"&gt;&lt;/a&gt;5. 運用上の注意：キャッシュの扱い
&lt;/h2&gt;&lt;p&gt;Cloudflareのプロキシを有効にすると、CSSや画像などの静的ファイルがキャッシュされます。
&lt;strong&gt;サイトを更新しても古いコンテンツが表示される場合&lt;/strong&gt;は、Cloudflareのキャッシュをクリアしてください。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;手動でキャッシュをクリアする方法:&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Cloudflareダッシュボードの &lt;strong&gt;[Caching] &amp;gt; [Configuration]&lt;/strong&gt; を開く&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;[Purge Cache]&lt;/strong&gt; &amp;gt; &lt;strong&gt;[Purge Everything]&lt;/strong&gt;（または特定URLを指定）を実行する&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="まとめ"&gt;&lt;a href="#%e3%81%be%e3%81%a8%e3%82%81" class="header-anchor"&gt;&lt;/a&gt;まとめ
&lt;/h2&gt;&lt;p&gt;GitLab Pagesを独自ドメインで運用する主なポイントは以下の3点です。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;正しいCNAMEターゲットを設定する&lt;/strong&gt; — GitLabのPages URLから実際のホスト名を確認して使う&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;PagesのVisibilityを「Everyone」にする&lt;/strong&gt; — Privateプロジェクトでも公開アクセスを許可する&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;SSL発行前はプロキシを灰色に保つ&lt;/strong&gt; — 証明書が発行されてからオレンジ雲に切り替える&lt;/li&gt;
&lt;/ol&gt;</description></item></channel></rss>