Open2
Cloudflareのtunnelで利用するドメインを変更する
同ページ内Prerequisitionは実施済みで、1回別ドメインで利用したことがあったものの、再度別ドメインで利用しようとした時に、ドメイン切り替えて使う方法が分からなかったのでメモ
ドキュメント
cloudflared tunnel login でログイン済みなので失敗する
cloudflared tunnel loginしようとすると、既にログインしてるので上書きできない、ファイルを消すか移動しろと出る。
$ cloudflared tunnel login
You have an existing certificate at /Users/{username}/.cloudflared/cert.pem which login would overwrite.
If this is intentional, please move or delete that file then run this command again.
対策
言われたとおり消す。
rm /Users/{username}/.cloudflared/cert.pem
他の対応策
cloudflared コマンドのオプションとして --origincert
オプションでcertの場所を指定できるようなので、利用するドメインごとに切り替えれば良さそう。
--origincert value Path to the certificate generated for your origin when you run cloudflared login. (default: "/Users/{username}/.cloudflared/cert.pem") [$TUNNEL_ORIGIN_CERT]
ただ、頻繁に切り替えるわけでもないので消してログインする方が早そうだと思ったので今回は消した。
ドキュメント内のsubdomainについて
loginしてドメインを指定済みの想定なので test.example.com
だとしたらsubdomainは test
になる (test.example.comではなく)。
(久しぶりに利用して別ドメインで利用していたことを忘れて分からなかった。)
固定ドメインでlocalhostをhostするために利用したコマンド
前提: local.example.com で localhost:3000を配信する場合
(tunnel名は example-name とします。プロジェクト名とか、そのままドメインのhost名にするのが覚えやすそう)
ログインする
$ cloudflared tunnel login
tunnelを作成
$ cloudflared tunnel create example-name
tunnel用のCNAMEを追加
$ cloudflared tunnel route dns example-name local
ローカルホストの配信実行
cloudflared tunnel run --url localhost:3000 example-name