ubuntu
カテゴリ
Cloudflare Tunnel 内だけでのWeb公開
2026/03/14 12時apache
第二段階、Cloudflare Tunnel を使用して、可変 URL での公開を試みる。

cloudflared パッケージのインストール
# Cloudflare GPG キー追加
curl -fsSL https://pkg.cloudflare.com/cloudflare-main.gpg | sudo tee /usr/share/keyrings/cloudflare-main.gpg > /dev/null
# リポジトリ追加
echo "deb [signed-by=/usr/share/keyrings/cloudflare-main.gpg] https://pkg.cloudflare.com/cloudflared $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/cloudflared.list
# インストール
sudo apt update && sudo apt install cloudflared -y
• URL: https://one.dash.cloudflare.com/
• Networks → Tunnels → Create a tunnel
• Cloudflared を選択 → トークンが表示される
トークンは次の cloudflared.service の ExecStart に使用する、再表示できないため必ずメモ

systemd サービスのインストール
sudo cloudflared service install <取得したトークン>

サービス起動・自動起動設定
sudo systemctl enable cloudflared
sudo systemctl start cloudflared
sudo systemctl status cloudflared

設定ファイル cloudflared.service に記述
sudo nano /etc/systemd/system/cloudflared.service
[Unit]
Description=cloudflared
After=network-online.target
Wants=network-online.target

[Service]
TimeoutStartSec=15
Type=notify
ExecStart=/usr/bin/cloudflared --no-autoupdate tunnel run --token <トークン>
Restart=on-failure
RestartSec=5s

[Install]
WantedBy=multi-user.target

DNS エラー対策として追加する設定 override.conf ファイルに記述
sudo nano /etc/systemd/system/cloudflared.service.d/override.conf
[Service]
Environment=TUNNEL_DNS_UPSTREAM=https://1.1.1.1/dns-query,https://1.0.0.1/dns-query

設定反映
sudo systemctl daemon-reload
sudo systemctl restart cloudflared
sudo systemctl status cloudflared

Cloudflare Tunnel の「Quick Tunnel」(トークンなしの一時URL)を使用して Web公開に成功したが、この URL はサービス再起動のたびに変わってしまうので、使い物にはならなかった。

トークンを取得してトンネルを固定化することで URL は固定された、長いURLを MyDNS.jp へと試みたが、無料のダイナミック DNS サービスであるため、ネームサーバー(NS レコード)を Cloudflare に変更することができなかった。

Cloudflare Tunnel の CNAME レコード(cfargotunnel.com)を有効にするには、Cloudflare がそのドメインの権威 DNS サーバーである必要がある。しかし MyDNS のサブドメイン(vafee.mydns.jp)は MyDNS が NS を管理しているため、Cloudflare の Zone は「Pending」のまま有効にならなかった。
記事一覧