Troubleshooting
Cloudflare 1010 on /api/*
403 / Error 1010 が出ても Pages Functions 不在とは限らない。今の既知事象は Cloudflare 側の browser signature ban。
確認済み
Python-urllib/3.9はbrowser_signature_bannedで 403curl/python-requests/undici/ browser UA は 200- ブラウザ実機では preview / production とも
/api/*は通る
次に見る場所
- Cloudflare Security → Settings → Browser Integrity Check
- WAF Custom Rules / Managed Rules
- Bot 系の browser signature block ルール
Cloudflare docs 上では 1010 の代表原因候補が Browser Integrity Check。BIC はデフォルト有効で、非標準 user-agent を弾く。
再現コマンド
python3 scripts/check-cloudflare-1010.py
このスクリプトは UA ごとの 200 / 403 と cf-ray をまとめて出す。
対処案
1. `/api/*` だけ Browser Integrity Check を skip する custom rule を入れる
2. 監視や bot の user-agent を `curl` / browser 系に寄せる
3. まずは Security Settings の BIC 有効状態を確認する
今の blocker
openclaw ブラウザから `dash.cloudflare.com` を開くと Cloudflare のログイン画面になる。
そのため、最終的な設定名の確定にはログイン済みの Cloudflare ダッシュボードセッションが必要。
ログイン後の確認手順
1. Cloudflare Dashboard で zone
auto-rogic-dashboard.pages.dev を開く2.
Security → Settings で Browser Integrity Check の ON/OFF を確認3.
Security → WAF で Custom Rules と Managed Rules に browser signature block がないか確認4. BIC が原因なら
/api/* だけ skip する custom rule を入れるAPI token で確認する場合
R2 Account Token や S3 credentials では BIC / WAF 設定は読めない。
必要なのは Cloudflare API token の
Zone:Read, Zone Settings:Read, できれば WAF:Read 相当。この token があればブラウザ未ログインでも API 経由で 1010 の原因設定を確認できる。
CLOUDFLARE_API_TOKEN=... \ CLOUDFLARE_ZONE_ID=... \ ./scripts/check-cloudflare-security.sh
CLOUDFLARE_API_TOKEN=... \ CLOUDFLARE_ZONE_NAME=auto-rogic-dashboard.pages.dev \ ./scripts/check-cloudflare-security.sh
curl -fsS \
-H "Authorization: Bearer ${CLOUDFLARE_API_TOKEN}" \
"https://api.cloudflare.com/client/v4/zones?name=auto-rogic-dashboard.pages.dev"
Run status reason の見方
runpod_capacity_wait は RunPod 空き待ち。Cloudflare 1010 とは別件。runpod_booting / runpod_started は trigger 自体は進んでいる。trigger_failed は RunPod 起動 API 側で失敗。running / completed / error / images_uploaded は R2 marker 同期ベースの状態。運用導線
/ops.html で status reason 集計, paper drilldown, problem runs をまとめて見られる。共有リンクをコピーすると、現在の絞り込み状態つきでそのまま渡せる。
メモ
今の API は壊れていないので、外形監視や bot 経由チェックの UA を見直すほうが先。
ダッシュボードに入れない間も `scripts/check-cloudflare-1010.py` で再現を維持できる。