<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>Zero Trust on KnightLiブログ</title>
        <link>https://knightli.com/ja/tags/zero-trust/</link>
        <description>Recent content in Zero Trust on KnightLiブログ</description>
        <generator>Hugo -- gohugo.io</generator>
        <language>ja</language>
        <lastBuildDate>Tue, 23 Jun 2026 20:37:00 +0800</lastBuildDate><atom:link href="https://knightli.com/ja/tags/zero-trust/index.xml" rel="self" type="application/rss+xml" /><item>
        <title>Cloudflare Tunnel 入門ガイド：パブリック IP なしで内部サービスを公開する</title>
        <link>https://knightli.com/ja/2026/06/23/cloudflare-tunnel-cloudflared-public-hostname-guide/</link>
        <pubDate>Tue, 23 Jun 2026 20:37:00 +0800</pubDate>
        
        <guid>https://knightli.com/ja/2026/06/23/cloudflare-tunnel-cloudflared-public-hostname-guide/</guid>
        <description>&lt;p&gt;Cloudflare Tunnel は、Cloudflare が提供するリバース接続型の仕組みです。考え方はシンプルです。サーバー側でパブリックな受信ポートを開く代わりに、内部ネットワーク上のマシンで軽量デーモン &lt;code&gt;cloudflared&lt;/code&gt; を動かし、そこから Cloudflare へ出方向の暗号化接続を確立します。&lt;/p&gt;
&lt;p&gt;これにより、Web サービス、API、検証環境、自宅サーバー、NAS の管理画面、一部の内部アプリケーションを、Cloudflare が管理する公開ホスト名経由でアクセスできるようになります。オリジン自体にはパブリック IP は不要で、ルーターでポートフォワーディングを設定する必要もありません。&lt;/p&gt;
&lt;p&gt;公式ドキュメント：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://developers.cloudflare.com/tunnel/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Cloudflare Tunnel&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://developers.cloudflare.com/tunnel/setup/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Tunnel setup&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://developers.cloudflare.com/tunnel/routing/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Tunnel routing&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;cloudflare-tunnel-が解決すること&#34;&gt;Cloudflare Tunnel が解決すること
&lt;/h2&gt;&lt;p&gt;従来の方法でサービスを公開する場合、たいてい次のような面倒があります。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;サーバーにパブリック IP が必要になる。&lt;/li&gt;
&lt;li&gt;ルーターやクラウドファイアウォールで受信ポートを開ける必要がある。&lt;/li&gt;
&lt;li&gt;オリジン IP が直接スキャンや攻撃の対象になりやすい。&lt;/li&gt;
&lt;li&gt;自宅回線、内部ネットワーク、一時的な検証環境を HTTPS で外部公開しにくい。&lt;/li&gt;
&lt;li&gt;リバースプロキシ、証明書、ポートフォワーディング、Dynamic DNS を自分で管理する必要がある。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Cloudflare Tunnel は接続の向きを変えます。外部トラフィックをサーバーへ直接到達させるのではなく、サーバー側から Cloudflare へ接続します。ユーザーがドメインにアクセスすると、トラフィックはまず Cloudflare に入り、すでに確立された Tunnel を通ってローカルサービスへ転送されます。&lt;/p&gt;
&lt;p&gt;一般的な利用で分かりやすいメリットは次の通りです。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;パブリック IP が不要。&lt;/li&gt;
&lt;li&gt;受信ポートを開放しなくてよい。&lt;/li&gt;
&lt;li&gt;オリジンのアドレスを隠せる。&lt;/li&gt;
&lt;li&gt;Cloudflare の HTTPS、WAF、DDoS 保護、Bot Management などを活用できる。&lt;/li&gt;
&lt;li&gt;内部 Web サービスを正式なドメイン配下で安全に公開しやすい。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;仕組み&#34;&gt;仕組み
&lt;/h2&gt;&lt;p&gt;典型的な Cloudflare Tunnel の流れは次のようになります。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;サーバー、仮想マシン、自宅マシン、コンテナに &lt;code&gt;cloudflared&lt;/code&gt; をインストールする。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;cloudflared&lt;/code&gt; が Cloudflare のグローバルネットワークへ接続する。&lt;/li&gt;
&lt;li&gt;Cloudflare ダッシュボードで Tunnel を作成し、公開ホスト名をローカルサービスへマッピングする。&lt;/li&gt;
&lt;li&gt;ユーザーがその公開ホスト名へアクセスする。&lt;/li&gt;
&lt;li&gt;Cloudflare がリクエストを受け取り、Tunnel 経由で内部サービスへ転送する。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;たとえば、ローカルで次のサービスが動いているとします。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;http://localhost:8080
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;これを次のホスト名へマッピングできます。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;app.example.com
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;ユーザーが &lt;code&gt;https://app.example.com&lt;/code&gt; にアクセスすると、リクエストはまず Cloudflare を通り、その後あなたのマシン上の &lt;code&gt;http://localhost:8080&lt;/code&gt; へ転送されます。&lt;/p&gt;
&lt;p&gt;Cloudflare のドキュメントによると、各 Tunnel はデフォルトで複数の長期接続を維持し、異なる Cloudflare データセンターへ接続します。本番環境では複数の &lt;code&gt;cloudflared&lt;/code&gt; レプリカを動かして可用性を高めることもできます。&lt;/p&gt;
&lt;h2 id=&#34;向いている利用シーン&#34;&gt;向いている利用シーン
&lt;/h2&gt;&lt;p&gt;Cloudflare Tunnel は特に次のような場面に向いています。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;内部 Web 管理画面&lt;/strong&gt;：NAS、Homelab、開発機上の管理画面など。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;一時的なデモ環境&lt;/strong&gt;：開発中のローカル Web アプリを一時的に共有する。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;セルフホストサービスの公開&lt;/strong&gt;：API、ブログ管理画面、監視ダッシュボードなどをドメイン配下で公開する。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;パブリック IP がない環境&lt;/strong&gt;：自宅回線、学校ネットワーク、社内ネットワーク、NAT 配下のマシン。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;オリジン IP を隠したい用途&lt;/strong&gt;：オリジンへの直接スキャン、総当たり、攻撃の機会を減らす。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;複数サービスの入口を統一したい場合&lt;/strong&gt;：1 つの Tunnel で複数の公開ホスト名を出し分け、別々のローカルサービスへ接続する。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;ただし、Cloudflare Tunnel は何でも解決する「万能の内部ネットワークトンネル」ではありません。SSH、RDP、TCP のような非 HTTP サービスを公開する場合は、通常クライアント側にも &lt;code&gt;cloudflared&lt;/code&gt; が必要です。あるいは Cloudflare Zero Trust / Access と組み合わせて、より完全なアクセス制御を設計します。&lt;/p&gt;
&lt;p&gt;普通の Web サービスを公開するだけなら導入はかなり簡単です。一方で、企業レベルのプライベートアクセス基盤として使うなら、認証、権限グループ、監査ポリシーも別途設計する必要があります。&lt;/p&gt;
&lt;h2 id=&#34;前提条件&#34;&gt;前提条件
&lt;/h2&gt;&lt;p&gt;正式な Tunnel を作成する前に、次の点を確認しておくと安心です。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Cloudflare アカウントがある。&lt;/li&gt;
&lt;li&gt;ドメインが Cloudflare で管理されている。&lt;/li&gt;
&lt;li&gt;インターネットへ接続できるサーバー、VM、コンテナ、またはローカルマシンがある。&lt;/li&gt;
&lt;li&gt;そのマシンから Cloudflare のネットワークへ到達できる。&lt;/li&gt;
&lt;li&gt;厳しいファイアウォール環境の場合、Cloudflare Tunnel が使う出方向の接続ポートへ到達できる。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;公式ドキュメントでは、制限の厳しいネットワーク環境にあるサーバーでは Cloudflare の &lt;code&gt;7844&lt;/code&gt; ポートへアクセスできるか確認するよう案内されています。&lt;/p&gt;
&lt;h2 id=&#34;ダッシュボードで-tunnel-を作成する&#34;&gt;ダッシュボードで Tunnel を作成する
&lt;/h2&gt;&lt;p&gt;一番簡単なのは Cloudflare Dashboard を使う方法です。&lt;/p&gt;
&lt;p&gt;Cloudflare の管理画面を開いたら、おおまかなパスは次の通りです。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Zero Trust / Networking -&amp;gt; Tunnels -&amp;gt; Create Tunnel
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;その後、画面の案内に従います。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Cloudflare Tunnel を選択する。&lt;/li&gt;
&lt;li&gt;Tunnel に名前を付ける。&lt;/li&gt;
&lt;li&gt;サーバーの OS と CPU アーキテクチャを選ぶ。&lt;/li&gt;
&lt;li&gt;Cloudflare が生成したインストールコマンドをコピーする。&lt;/li&gt;
&lt;li&gt;サーバー上でコマンドを実行し、&lt;code&gt;cloudflared&lt;/code&gt; をインストールして起動する。&lt;/li&gt;
&lt;li&gt;ダッシュボードに戻り、Tunnel の状態が Healthy になったことを確認する。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Tunnel が Healthy になれば、サーバーと Cloudflare の接続は正常に確立されています。&lt;/p&gt;
&lt;h2 id=&#34;公開ホスト名を設定する&#34;&gt;公開ホスト名を設定する
&lt;/h2&gt;&lt;p&gt;Tunnel を作成したら、次にルーティングを設定します。つまり Cloudflare に次の対応を教えます。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;どのドメイン -&amp;gt; どのローカルサービスへ転送するか
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;たとえば：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;app.example.com -&amp;gt; http://localhost:8080
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;一般的なローカルサービス URL は次のようなものです。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;http://localhost:80
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;https://localhost:443
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;http://192.168.1.10:8080
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;設定を保存すると、Cloudflare は公開ホスト名を次のような Tunnel アドレスへ向ける DNS レコードを自動作成します。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&amp;lt;TUNNEL_ID&amp;gt;.cfargotunnel.com
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;ユーザーがこのアドレスを直接使う必要はありません。これは Cloudflare 内部で、ドメイントラフィックを Tunnel へルーティングするための宛先です。&lt;/p&gt;
&lt;p&gt;1 つの Tunnel で複数のアプリケーションを公開できます。たとえば：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;nas.example.com      -&amp;gt; http://192.168.1.20:5000
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;git.example.com      -&amp;gt; http://192.168.1.30:3000
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;monitor.example.com  -&amp;gt; http://localhost:9090
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;これにより、1 つの &lt;code&gt;cloudflared&lt;/code&gt; インスタンスで複数の内部 Web サービスを管理できます。&lt;/p&gt;
&lt;h2 id=&#34;よくある実行方法&#34;&gt;よくある実行方法
&lt;/h2&gt;&lt;p&gt;Linux または macOS では、Cloudflare ダッシュボードに次のようなサービスインストールコマンドが表示されることが多いです。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo cloudflared service install &amp;lt;TUNNEL_TOKEN&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Windows では次のような形です。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-powershell&#34; data-lang=&#34;powershell&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;cloudflared&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;py&#34;&gt;exe&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;service&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;install&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;TUNNEL_TOKEN&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Docker を使いたい場合は、公式イメージでも実行できます。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;docker run cloudflare/cloudflared:latest tunnel --no-autoupdate run --token &amp;lt;TUNNEL_TOKEN&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;ここで使う &lt;code&gt;&amp;lt;TUNNEL_TOKEN&amp;gt;&lt;/code&gt; は非常に重要な資格情報です。公開リポジトリへコミットしたり、公開フォーラムにスクリーンショットを投稿したりしないでください。この token を入手した人は、自分の &lt;code&gt;cloudflared&lt;/code&gt; をあなたの Tunnel に接続できる可能性があります。&lt;/p&gt;
&lt;h2 id=&#34;quick-tunnel-は一時テスト向け&#34;&gt;Quick Tunnel は一時テスト向け
&lt;/h2&gt;&lt;p&gt;Cloudflare には Quick Tunnel という、より手軽な一時モードもあります。&lt;/p&gt;
&lt;p&gt;ローカルで次を実行します。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;cloudflared tunnel --url http://localhost:8080
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;ランダムな &lt;code&gt;trycloudflare.com&lt;/code&gt; サブドメインが生成され、外部から一時的にローカルサービスへアクセスできるようになります。&lt;/p&gt;
&lt;p&gt;この方法は次の用途に向いています。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;一時的なデモ。&lt;/li&gt;
&lt;li&gt;ローカルでの webhook デバッグ。&lt;/li&gt;
&lt;li&gt;開発中のページを同僚に見せる。&lt;/li&gt;
&lt;li&gt;本番用ドメインをまだ紐付けたくないテスト。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;ただし本番環境には向きません。公式ドキュメントでは、Quick Tunnel にはランダムドメインを制御できないこと、同時リクエスト数の制限、一部の長期接続機能が使えないことなどの制限があると説明されています。本番サービスでは標準の Tunnel を作成し、自分のドメインを紐付けるべきです。&lt;/p&gt;
&lt;h2 id=&#34;よくあるつまずきポイント&#34;&gt;よくあるつまずきポイント
&lt;/h2&gt;&lt;h3 id=&#34;1-ローカルサービスの待ち受けアドレスが違う&#34;&gt;1. ローカルサービスの待ち受けアドレスが違う
&lt;/h3&gt;&lt;p&gt;サービスがコンテナ内部のアドレスだけで待ち受けていたり、特定のネットワークインターフェースからのアクセスだけを許可していたりすると、&lt;code&gt;cloudflared&lt;/code&gt; が接続できない場合があります。&lt;/p&gt;
&lt;p&gt;調査するときは、まず &lt;code&gt;cloudflared&lt;/code&gt; を実行しているマシン上で次を実行します。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;curl http://localhost:8080
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;そのマシン自身からアクセスできないなら、Cloudflare Tunnel も転送できません。&lt;/p&gt;
&lt;h3 id=&#34;2-ファイアウォールが出方向の接続をブロックしている&#34;&gt;2. ファイアウォールが出方向の接続をブロックしている
&lt;/h3&gt;&lt;p&gt;Cloudflare Tunnel は受信ポートを必要としませんが、外へ接続する必要はあります。会社ネットワーク、クラウドのセキュリティグループ、ローカルファイアウォールが出方向の接続をブロックしていると、Tunnel は Healthy にならないことがあります。&lt;/p&gt;
&lt;p&gt;この場合は、Cloudflare のドキュメントで触れられている Tunnel 接続ポートを中心に、出方向アクセスルールを確認します。&lt;/p&gt;
&lt;h3 id=&#34;3-ドメインが-cloudflare-で管理されていない&#34;&gt;3. ドメインが Cloudflare で管理されていない
&lt;/h3&gt;&lt;p&gt;正式な公開ホスト名を使いたい場合、ドメインは Cloudflare 上で管理されている必要があります。そうでないと、Cloudflare は必要な DNS ルートを自動作成できません。&lt;/p&gt;
&lt;h3 id=&#34;4-管理画面を裸で公開しない&#34;&gt;4. 管理画面を裸で公開しない
&lt;/h3&gt;&lt;p&gt;Cloudflare Tunnel が解決するのは「オリジンへ安全に到達する方法」です。アプリケーションにログイン機能を自動で追加してくれるわけではありません。&lt;/p&gt;
&lt;p&gt;NAS、Git、監視、データベース管理画面のような機密性の高いサービスを公開するなら、少なくとも Cloudflare Access を追加し、メール、組織アカウント、ID プロバイダーに基づいてアクセスを制限するのがおすすめです。&lt;/p&gt;
&lt;h3 id=&#34;5-設定ファイル方式では-catch-all-ルールを入れる&#34;&gt;5. 設定ファイル方式では catch-all ルールを入れる
&lt;/h3&gt;&lt;p&gt;API やローカル設定ファイルで ingress rules を管理する場合、公式ドキュメントでは最後に catch-all ルールを置く必要があります。よくある書き方は 404 を返す形です。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-yaml&#34; data-lang=&#34;yaml&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nt&#34;&gt;ingress&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;- &lt;span class=&#34;nt&#34;&gt;hostname&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;l&#34;&gt;app.example.com&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;service&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;l&#34;&gt;http://localhost:8080&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;- &lt;span class=&#34;nt&#34;&gt;service&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;l&#34;&gt;http_status:404&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;これにより、マッチしなかったリクエストが本来アクセスさせたくないサービスへ誤って転送されるのを防げます。&lt;/p&gt;
&lt;h2 id=&#34;まとめ&#34;&gt;まとめ
&lt;/h2&gt;&lt;p&gt;Cloudflare Tunnel は、内部 Web サービスをパブリックドメインへ安全かつ安定して公開する用途に向いています。パブリック IP も受信ポートの開放も不要で、運用コストも高くありません。&lt;/p&gt;
&lt;p&gt;自宅やサーバー上の Web 管理画面を外から使いたいだけなら、Cloudflare Tunnel はかなり実用的な選択肢です。より複雑な企業向けプライベートアクセスを構築する場合は、Cloudflare Access、Zero Trust ポリシー、細かな権限制御と組み合わせて使うのがよいでしょう。&lt;/p&gt;
</description>
        </item>
        
    </channel>
</rss>
