cloudflared起因でサイトがダウンしたときに活を入れる
Posted on by おきん(blog)
概要
cloudflared(Cloudflare Tunnel)の再接続で直るタイプの不調でサイトがダウンしたことを検知して、自動的に再接続させる方法について紹介します。
解決策
簡単なスクリプトで監視と再接続を行います。
HTTP530でcloudflaredを再起動
Shell
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
#!/bin/bash ENDPOINT="<your-site-url>" HTTPCODE="$( curl "$ENDPOINT" -o /dev/null -w '%{http_code}\n' -s)" if [ "$HTTPCODE" = 530 ];then # 特権昇格 [ "$(id -u)" != "0" ] && exec sudo "$0" "$@" # 多重起動防止 exec {lock_fd}< "$0" flock --nonblock ${lock_fd} || exit 0 /usr/bin/systemctl stop cloudflared /usr/bin/systemctl start cloudflared else echo "OK" fi |
もしTunnel関連のエラーで出る530以外でも再接続させたいときは"$HTTPCODE" = 530
を! "$HTTPCODE" = 200
などにすると良いでしょう。
利活用例
以下の場合などにこのスクリプトは利用できます。
- cloudflaredで公開しているサーバーが・・・
- Wi-Fiやモバイルデータ通信を使っていて途切れやすい
- warpと併用していて不安定になりやすい
https://mi.okin-jp.net/@okin_p(Misskey)
https://fi.okin-jp.net/@okin_p(Firefish)
https://si.okin-jp.net/@okin_p(Mastodon)
https://fedifile.net/@okin_p/profile/
https://twpf.jp/okin_p
http://profile.hatena.ne.jp/okin_p/
名前:おきん
やってること:面倒なことをPHPにやらせる、IPv6でなにかする、車で移動する
主なガジェット:Google Pixel 4a (5G) ,iPhone XS(ジャンク), iPad mini5, その他
種別:猫 over IPv6 run on PHP
パソコンやガジェットについて書いていく…予定。