2026年8月31日
2026年8月31日
WordPressのCloudflareTunnelで安全に公開する方法
はじめに
ここでは、Cloudflare Tunnelを使用してローカルのWordPressサイトをインターネット上に安全かつ簡単に公開する方法について説明します。Cloudflare Tunnelは、セキュアなトンネリング技術により、サイトがインターネットに直接接続することなくプライベートネットワーク上のサーバーからWebサービスを提供することが可能です。
この記事は、開発者やシステム管理者がローカルマシン上にあるWordPressインストールをテスト環境として利用する際のセキュリティ強化に役立ちます。また、パブリッククラウドやプライベートクラウド環境でサイトを公開する場合にも有用な情報が詰まっています。
症状・背景
このテーマが必要になる主な場面:
- ローカル開発環境からのセキュアなアクセス
- クラウド上のサーバーへの安全なトンネリング接続
- 動的IPを持つデバイスから安定したDNSを提供する
- HTTPやHTTPSのトランザクションを暗号化する
手順・設定方法
ステップ1: CloudflareアカウントとTunnelの準備
# Cloudflareアカウントへのログイン
cf login --token <YOUR_CLOUDFLARE_API_TOKEN>
# Tunnelの作成
cf tunnel init
ステップ2: WordPressサイトをCloudflare Tunnelに接続する設定
# サーバー上のWordPressディレクトリへ移動
cd /var/www/html/wordpress/
# Cloudflare TunnelでHTTPとHTTPSをマッピングする
cf tunnel --url http://localhost:80 --route <YOUR_DOMAIN>.com --no-autoupdate
# 証明書の自動更新とDNSレコードの管理設定
cf tunnel --cert ./letsencrypt/ -d --update
ステップ3: 安全なアクセスを保証するためのオプション設定
# Tunnelを開始前にSSHトンネル経由で接続する
cf ssh start
# 接続中のTunnelを一覧表示し、必要に応じて停止や再起動を行う
cf tunnel list | grep <YOUR_TUNNEL_ID>
cf tunnel stop <YOUR_TUNNEL_ID>
# 環境変数を使用して設定ファイルをオーバーライドする
CF_TUNNEL_ROUTE=<YOUR_DOMAIN>.com CF_TUNNEL_URL=http://localhost:80 cf tunnel
ステップ4: ログと監視機能の利用
# Tunnelの状態やエラー情報を確認するためのログを取得
cf tunnel logs --follow
# Cloudflare Dashboardから詳細な監視データを確認
cf dashboard login --token <YOUR_CLOUDFLARE_API_TOKEN>
注意事項
- <実践的な注意点1>: Tunnel IDが共有されていないことを確認し、APIトークンも適切に管理してください。
- <実践的な注意点2>: HTTPS通信のためにはSSL/TLS証明書が必要です。Let's Encryptなどで無料で取得できます。
- <セキュリティ上の注意>: ネットワークからの不正アクセスを防ぐために、CloudflareのWAF(Web Application Firewall)機能を利用することをお勧めします。
- <パフォーマンス/運用上の注意>: 高負荷時には、適切なサーバーサイズとリソース配分が必要となります。
まとめ
1. セキュアなトンネリング: Cloudflare Tunnelは、HTTP/HTTPSトラフィックを暗号化して保護します。
2. 自動更新の設定: 証明書やDNSレコードは自動で更新されるため、運用負荷が軽減されます。
3. 柔軟性: 開発環境とプロダクション環境での両方での利用が可能です。
4. 詳細な監視: Cloudflare Dashboardでは、Tunnelの状態やトラフィックを確認できます。
5. 拡張性: オプショナルな機能としてSSHトンネリングやWAFなどが利用可能で、より高度なセキュリティ要件に対応します。
関連記事: