Cloudflareにカードを登録したのはかなり前ですが、私がよく使っているのはR2だけで、Zero Trustについては存在は知っていてもずっと使っていませんでした。
後になって気づいたのですが、このツールでできることがかなり多いようなので、さっそく試してみることにしました。
この手順全体は、すでにCloudflareアカウントを作成し、ドメインのDNSをCloudflareアカウントにバインドしていることを前提としています。
まず、Visa、MasterCard、AMEX、Discoverのいずれかのクレジットカードを準備する必要があります。以前はPayPalをバインドできたという話もありましたが、少なくとも、私が以前R2を使うためにカードを登録したときにはPayPalのボタンはありませんでした、どうやら運次第のようです。私はPayPalのボタンを見かけなかったので、カードを登録しました。
(登録したのは中国銀行のMasterCardです)
クレジットカードを使用する場合、アカウントに約1ドル残しておいてください。Cloudflareがアカウントを検証する際に、約1ドルを引き落として確認します。
左側のナビゲーションバーの「Zero Trust」ボタンをクリックすると、ページがZero Trust専用のコンソールに遷移します(このコンソールにはダークモードがありません)。
その後、関連するプロンプトが表示されますので、適切だと思う名前を英語で入力してください。

入力が終わったら、「次へ」をクリックし、Freeプランを選択します。

次に、「支払いを続行」をクリックします。

もし、以前に何らかのサービスを利用するためにすでにCloudflareにカードを登録している場合は、このステップではリラックスして、状態が更新されるのを待つだけで大丈夫です。
しかし、Cloudflareにカードを登録していない場合は、以下のようなカード登録画面が表示されます。


以下のページが表示されたら、Zero Trustの初期化は完了です。

「設定」→「リソース」をクリックし、下にスクロールして「cloudflaredをダウンロード」を探し、自分のOSに合わせてダウンロードを選択します。ここではWindows (64-bit)を選択します。

ダウンロードが完了したら、ファイルを開いてインストールします。
もちろん、Dockerを使用してデプロイする方法もありますが、これは後ほど説明します。
Dockerでインストールする必要がある場合は、事前にデバイスにDockerをインストールしてください。WindowsでのDockerインストールはお勧めしません。
「ネットワーク」→「Tunnels」をクリックし、「トンネルを追加」をクリックします。

左側のCloudflaredを選択します。

トンネルに名前を付けます。覚えやすい名前で構いません。ここでは私のデバイス名を使用します。入力が終わったら、「トンネルを保存」をクリックします。

次に、重要なステップです。
管理者モードでCMDまたはPowerShellを開きます。もしgsudoがインストールされている場合は、sudoを入力して管理者モードに切り替えることもできます。私のWindowsにはgsudoがインストールされているので、直接切り替えました。

先ほどのページに戻り、下にスクロールして「コネクタをインストールして実行」を探します。
ここでは、すでにステップ1から3を事前に完了しているので、表示されたコマンドを開いたコンソールにコピーしてEnterキーを押すだけです。


実行が完了したら、先ほどのページに戻り、一番下の「Connectors」までスクロールします。ここで、私たちのデバイスが表示されているはずです。

表示されていることを確認したら、「次へ」をクリックします。

プロンプトに従って上記の情報を入力してください。入力が終わったら、「トンネルを保存」をクリックします。これで、作成したリンクにアクセスして、正常にアクセスできるか確認してみましょう。
Cloudflareでは、接続を保護するためにAccessでアプリケーションを作成することを推奨していますが、これは個人の判断に任せられます(私はやっていません。やり方がわかりません)。
上記の操作は、サーバーにも同様に適用できます(当たり前ですが)。
このステップでは、「環境を選択」の欄にいくつかの選択肢があり、その中にDockerもあります。Dockerに変更すると、下の「コネクタをインストールして実行」が自動的にDocker用の手順に切り替わります。同様に、表示されたコマンドを開いたコンソールにコピーしてEnterキーを押すだけです。

Error: Bad Configuration: Validation failed: parse "http://127.0.0.1:2333 ": invalid port ":2333 " after host のようなエラーが表示された場合は、「Tunnels」ページに戻り、作成したトンネルの設定ページに入り、「パブリックホスト名」ページで個別に設定することができます。設定方法は先ほどと同じです。通常、これで問題は解決します。