Sổ lỗi Cloudflare: 30 dòng lỗi gần nhất (06 - 12.10.2026)
Rà ngày 13.10.2026 bằng GraphQL Analytics của Cloudflare (đọc qua dashboard, chỉ đọc), cùng khuôn với sổ lỗi CI. Hai nguồn: httpRequestsAdaptiveGroups của zone conan.school (7 ngày, chỉ requestSource = "eyeball", xem C0) và workersInvocationsAdaptive của tài khoản (30 ngày, status != success).
C0: cái bẫy làm sai cả bản rà, đọc trước
Lọc zone theo edgeResponseStatus >= 500 mà không lọc requestSource cho ra 10.913 lượt 504 trong một ngày ở www.conan.school, gần một phần ba lưu lượng, rải đều mọi giờ, trên cả logo, robots.txt và mọi file JS. Trông như sự cố lớn đang diễn ra. Không phải: mọi lượt đó có requestSource = "edgeWorkerCacheAPI", tức là lượt caches.default.match() trượt của chính Worker conan-www-stale-asset-bridge, và Cloudflare ghi một lượt trượt Cache API thành 504. Người đọc không thấy lượt nào trong số đó (curl 30 lượt liền đều 200).
Luật: mọi truy vấn lỗi HTTP trên zone phải có requestSource: "eyeball".
Bảng 30 dòng
| # | Nguồn | Mã | Host + đường dẫn | Lượt | Dấu vân tay |
|---|---|---|---|---|---|
| 1 | zone | 502 | www /jtbd/nguoi-cham-nguoi-than-om/giu-duoc-suc-minh-trong-lúc-cham-nguoi-khac | 14 | C1 |
| 2 | zone | 502 | www /en/jtbd/... cùng trang | 11 | C1 |
| 3 | zone | 502 | www /en/jtbd/nguoi-di-lam-dung-ai-hang-ngay | 1 | C2 |
| 4 | zone | 522 | video2 / | 16 | C3 |
| 5 | zone | 522 | video2 /favicon.ico | 7 | C3 |
| 6 | zone | 522 | media / | 7 | C3 |
| 7 | zone | 522 | media /favicon.ico | 1 | C3 |
| 8 | zone | 522 | studio /.well-known/cf-custom-hostname-challenge/... | 3 | C3 |
| 9 | zone | 522 | video2 /.well-known/acme-challenge/... | 3 | C3 |
| 10 | zone | 522 | video2 /.well-known/cf-custom-hostname-challenge/... | 3 | C3 |
| 11 | zone | 522 | media /.well-known/cf-custom-hostname-challenge/... | 3 | C3 |
| 12 | zone | 522 | content /.well-known/cf-custom-hostname-challenge/... | 2 | C3 |
| 13 | zone | 522 | media /.well-known/acme-challenge/... | 2 | C3 |
| 14 | zone | 500 | mentors /_vinext/image | 7 | C4 |
| 15 | worker | exception | mentors-conan-school: Cannot read properties of undefined (reading 'fetch') | 7 | C4 |
| 16 | zone | 500 | mam /api/mam/images | 6 | C5 |
| 17 | zone | 524 | tokyo /images/book-covers/su-co-luc-hai-gio-sang.svg | 1 | C5 |
| 18 | zone | 404 | api /api/public/home | 1.667 | C6 |
| 19 | zone | 404 | image / | 120 | C7 |
| 20 | zone | 404 | image /.well-known/acme-challenge/... | 165 | C7 |
| 21 | zone | 404 | image /.well-known/cf-custom-hostname-challenge/... | 165 | C7 |
| 22 | zone | 410 | www /_next/image | 142 | C8 |
| 23 | zone | 404 | www /_next/image | 77 | C8 |
| 24 | zone | 404 | www /__vite_rsc_findSourceMapURL | 108 | C9 |
| 25 | zone | 401 | tokyo /api/session | 99 | C10 |
| 26 | zone | 404 | www /.env, /src/.env, /.env.production | 295 | C11 |
| 27 | zone | 404 | www /wp-content/plugins/..., /led.php, /userfiles | 236 | C11 |
| 28 | zone | 530 | www //admin.php, //adminfuns.php | 5 | C11 |
| 29 | worker | log trống | 11/11 cấu hình wrangler không bật observability | toàn bộ | C12 |
| 30 | worker | exception | Worker ngoài repo này (chuyenchon-* 2.614, artlove365-web 30, capos-api 10...) | 2.700+ | C13 |
Gom theo dấu vân tay, nguyên nhân gốc, và chốt chặn
| Mã | Lỗi | Nguyên nhân gốc | Chốt chặn |
|---|---|---|---|
| C1 | Trang JTBD trả 502 cho mọi lượt | Slug Job có chữ có dấu (lúc) trong content/jtbd/health-fitness.json; trình duyệt mã hoá phần trăm nên không khớp lại được | Sửa slug (JSON + migration 20261113a); check-jtbd.mjs chặn slug ngoài a-z0-9- |
| C2 | 502 lẻ một lượt, giờ 200 | SSR chập chờn, chưa tái hiện | Theo dõi; cần Workers Logs (C12) để thấy stack |
| C3 | 522 ở video2/media/studio/content | Origin không phản hồi trong lúc gắn tên miền tuỳ chỉnh (thử thách cert); nay cả bốn trả 200 | Đã tự khỏi; việc gắn tên miền Pages vẫn làm tay (xem memory pages-custom-domain-token) |
| C4 | mentors.conan.school 500 | Site đã gỡ khỏi repo 12.10 nhưng Worker và tên miền vẫn chạy trên Cloudflare | Gỡ Worker + tên miền ở dashboard |
| C5 | mam 500, tokyo 524 lẻ | Chưa tái hiện (mam giờ trả 302 sang Access) | Chờ log từ C12 |
| C6 | /api/public/home 404, 1.667 lượt | Không còn mã nào trong repo gọi đường này (www đã sửa ở books.tsx); người gọi là bản build cũ còn sống hoặc dịch vụ ngoài | Cần Workers Logs của api để biết Referer/User-Agent |
| C7 | image.conan.school 404 ở gốc và thử thách cert | R2 conan-cms không có trang gốc; thử thách hostname tuỳ chỉnh trỏ vào bucket | Không phải lỗi người đọc; dọn hostname tuỳ chỉnh treo nếu không dùng |
| C8 | /_next/image 404 lẫn 410 | 410 là cố ý (di sản Next); 404 là lượt rơi vào nhánh khác | Chấp nhận |
| C9 | /__vite_rsc_findSourceMapURL 404 | Trình duyệt có DevTools mở hỏi source map của RSC | Chấp nhận |
| C10 | tokyo /api/session 401 | Khách chưa đăng nhập, đúng thiết kế | Chấp nhận |
| C11 | Quét .env, wp-content, admin.php | Bot dò lỗ hổng | WAF tuỳ chọn; không có gì để lộ |
| C12 | Workers Logs gần như trống | Không cấu hình wrangler nào khai [observability], nên lỗi runtime không được ghi ở đâu cả. Trang Observability trống trông y như "không có lỗi" | Bật ở cả 11 cấu hình; gác check-worker-observability.mjs trong job guards |
| C13 | Exception ở Worker không thuộc repo | Cùng tài khoản Cloudflare có dự án khác | Ngoài phạm vi; ghi để lần rà sau khỏi đếm nhầm |
Cách rà lại
Dashboard Cloudflare, tab bất kỳ, chạy trong console (dùng phiên đăng nhập, không cần token):
await (await fetch('/api/v4/graphql', { method: 'POST', headers: { 'content-type': 'application/json' },
body: JSON.stringify({ query: `{viewer{zones(filter:{zoneTag:"<zone>"}){httpRequestsAdaptiveGroups(limit:40,
filter:{datetime_geq:"...",requestSource:"eyeball",edgeResponseStatus_geq:500},orderBy:[count_DESC])
{count dimensions{clientRequestHTTPHost clientRequestPath edgeResponseStatus}}}}}` }) })).json()