この記事は備忘録です
- Cloudflare Tunnel をインストールする
この部分は省略
- Cloudflare Tunnel にログインする
cloudflared tunnel login
ログインが成功すると、認証情報が ~/.cloudflared/cert.pem
に保存されます
- トンネルを作成する
cloudflared tunnel create <TUNNEL_NAME>
これを実行すると、トンネルのUUIDが生成され、対応するJSONファイルが ~/.cloudflared/
に保存されます
- ドメインの DNS に CNAME レコードを追加する
cloudflared tunnel route dns <TUNNEL_NAME> <YOUR_DOMAIN>
- 設定ファイルの作成
touch ~/.cloudflared/config.yml
tunnel: <TUNNEL_UUID>
credentials-file: /root/.cloudflared/<TUNNEL_UUID>.json
ingress:
- hostname: <YOUR_DOMAIN>
service: http://localhost:80
- service: http_status:404
hostname
には先ほど設定したドメインを、service
にはローカルで公開したいサービスのアドレスとポートを指定します
ここで私的のポイント
~/.zshrc
に次のコードを追加します
# Cloudflare Tunnel
alias tunnel="_tunnel"
function _tunnel()
{
if [ -z "$1" ]; then
echo "Please provide a port number (80 or 3000)."
return 1
fi
case $1 in
80)
cloudflared tunnel --config ~/.cloudflared/config_80.yml run MacBook-Pro
;;
3000)
cloudflared tunnel --config ~/.cloudflared/config_3000.yml run MacBook-Pro
;;
*)
echo "Invalid port number. Only 80 and 3000 are allowed."
return 1
;;
esac
}
またこれに応じて、~/.cloudflared/config_80.yml
と ~/.cloudflared/config_3000.yml
を作成します
- トンネルを起動する
tunnel 80
これで、https://<YOUR_DOMAIN>
にアクセスすると、ローカルホストが一時的に公開されます