1. なぜ2つの入口を使うのか#
Cloudflare Tunnelを使うと、サーバーのIPアドレスを公開せず、Cloudflare経由でAlistへアクセスできます。一方、長時間の接続や大容量アップロードでは、経路やサービスの制限によって期待どおりに動かないことがあります。
そこで、閲覧・ダウンロード用とアップロード用に入口を分ける構成を考えます。
alist.050626.xyz → Cloudflare Tunnel経由。閲覧・ダウンロード用
alistip.050626.xyz → サーバーへの直接接続。アップロード用2. 直接接続用のドメインを追加する#
Cloudflare DNSにalistip.050626.xyzを追加し、サーバーの到達可能なアドレスへ向けます。IPv6を使う場合は、AAAAレコード、ファイアウォール、Alistの待ち受けアドレスを確認します。
直接接続用のDNSレコードは、Cloudflareのプロキシを有効にするかどうかで挙動が変わります。Tunnelやプロキシを経由しない場合は、実際のサーバーアドレスが公開されるため、公開範囲とアクセス制御を慎重に設定してください。
3. Alistの設定#
Alistの設定ファイルは、インストール方法によって異なります。例として/opt/alist/data/config.yamlまたはconfig.jsonを確認します。
force_https: falseTunnel側でHTTPSを終端し、AlistへHTTPで接続する構成では、Alist側のforce_httpsがリダイレクトループを作らないように確認します。直接接続用の入口でHTTPSを使う場合は、TLS証明書とAlistの設定を別途確認してください。
4. 運用上の注意#
- Cloudflare Tunnel側の入口には、必要ならCloudflare Accessを設定する。
- 直接接続側では、ファイアウォールで許可する送信元を絞る。
- アップロード用の入口を誰でも使える状態にしない。
- Alistの管理画面、API、アップロード権限をユーザーごとに分ける。
- IPv6アドレスが変わる場合はDDNSを利用する。
- 2つの入口でCookie、HTTPS、リダイレクトの挙動が異ならないか確認する。
まとめ#
Cloudflare Tunnel経由の入口は、IPを隠し、閲覧やダウンロードへ向いています。直接接続の入口は、アップロードの経路を安定させられる可能性がありますが、サーバーのIP公開とアクセス制御の責任が増えます。2つのドメインを作るだけで安全になるわけではないため、用途ごとに認証とファイアウォールを設定してください。

