Proxmoxで、LXC上に構築したNextcloudをCloudflare Tunnelで外部公開する
概要
Proxmox上に立てたNextcloud LXCコンテナを、 Cloudflare Tunnelを使ってグローバル公開する
構成
Proxmox VE**(仮想基盤)
Nextcloud LXCコンテナ
Ubuntu VM(Cloudflare Tunnel専用)
Cloudflare Tunnel(Zero Trust経由でNextcloudを外部公開)
Cloudflare(ドメイン管理)
目標
自宅のNextcloudをセキュアに外部公開
Cloudflare Tunnelを使ってNATやポート開放なしでアクセス可能にする
NextcloudとTunnelサーバを**分離構成**にして将来的な拡張性を確保
手順概要
1. Proxmox上にNextcloud用のLXCコンテナを作成
2. Proxmox上にTunnel用のVMを作成し、cloudflaredをインストール
3. CloudflareダッシュボードからTunnelを作成(トークンモード)
4. Nextcloudのconfig.phpを編集し、以下を追加
code:config.php
'trusted_proxies' => '127.0.0.1', '::1', 'トンネルVMのIP',
'overwrite.cli.url' => 'https://nextcloud.skuralll.com',
'overwriteprotocol' => 'https',
5. Cloudflare Tunnelの設定でNextcloudにHTTPS接続するように設定
6. ダッシュボードからNo TLS Verifyをオンにして自己署名証明書エラーを回避
7. 外部からhttps://nextcloud.skuralll.comに正常アクセスできることを確認
トラブルと解決法
リダイレクトループが発生
原因:Tunnel経由でHTTP接続していたため、Nextcloudが常にHTTPSにリダイレクトし続けた
対策:Tunnel設定でNextcloudに**HTTPS接続**するように変更
Bad Gatewayエラーが発生
原因:Nextcloud側のSSL証明書が自己署名(snakeoil)だったため、Cloudflare Tunnelが接続できなかった
対策:Cloudflareダッシュボードで**「No TLS Verify」オプションをオン**にして自己署名証明書を許可