JL
TH
หน้าเอกสาร
เมนู
คู่มือ

แก้ปัญหาความล้มเหลวที่พบบ่อย

วิเคราะห์ความล้มเหลวของคำขอใน jsonlog ที่พบบ่อยและใช้แนวทางแก้ไขโดยตรง

guidejsonlog

แก้ปัญหาความล้มเหลวที่พบบ่อย

วัตถุประสงค์: ให้แนวทางแบบเข้มงวดจากอาการ-สาเหตุ-วิธีแก้ สำหรับปัญหาการเชื่อมต่อที่พบบ่อย

ตารางความล้มเหลว

อาการ สาเหตุที่เป็นไปได้ วิธีแก้ไข
POST /query ตอบ 401 (Missing bearer token) ไม่มี Authorization header ส่ง Authorization: Bearer <token> จากขั้นตอนบูตสแตรป auth
POST /query ตอบ 401 (Invalid token) JWT หมดอายุ/ไม่ถูกต้อง หรือ issuer/audience ไม่ตรง บูตสแตรป token ใหม่และตรวจ config auth (AUTH_ISSUER, AUTH_AUDIENCE, JWKS URL)
POST /query ตอบ 400 (start_ts must be <= end_ts) ช่วงเวลาใน body ไม่ถูกต้อง ตรวจให้ start_ts น้อยกว่าหรือเท่ากับ end_ts
POST /log ตอบ 400/validation error body ไม่ใช่ JSON object ที่ถูกต้อง ส่ง JSON body ทุกครั้ง (อย่างน้อย {})
เขียนช่องทางส่วนตัวได้ 401 ไม่มี token สำหรับช่องทางที่ต้องป้องกัน ส่ง Bearer token ของเจ้าของที่ถูกต้อง
อ่าน/เขียนช่องทางส่วนตัวได้ 404 บัญชีไม่ตรงกับเจ้าของช่องทาง ใช้ token ที่มี JWT claim acc ตรงกัน
WebSocket private upgrade ได้ 401 token หายไป/ไม่ถูกต้องในคำขอ upgrade ใส่ Authorization header ที่ถูกต้องระหว่าง upgrade
WebSocket private upgrade ได้ 404 acc ใน token ไม่ตรงกับเจ้าของช่องทาง เชื่อมต่อใหม่ด้วย token ของบัญชีเจ้าของ
POST /query ได้ files ว่าง ไม่มีไฟล์ในช่วงเวลาหรือกรองแคบเกินไป ขยายช่วงเวลา/ตัวกรอง และตรวจ worker อัปโหลด/บีบอัดว่ายังทำงานอยู่
ไม่พบ endpoint /query ใน OpenAPI ปิดใช้งาน integration กับฐานข้อมูล ตั้งค่า DATABASE_URL และรีสตาร์ตบริการเพื่อเปิดเส้นทาง query

ตรวจสอบด่วน

JSONLOG_BASE_URL="http://localhost:3002"

curl -sS "${JSONLOG_BASE_URL}/health"
curl -sS "${JSONLOG_BASE_URL}/stats"
curl -sS "${JSONLOG_BASE_URL}/openapi.json" | jq '.paths | keys'

ตรวจสอบ Auth ด้วยสคริปต์

cd jsonlog
set -a && source .env && set +a
npm run test:auth:smoke

ชุด smoke นี้ตรวจพฤติกรรม /query ในกรณีไม่มี auth, auth ไม่ถูกต้อง และ auth ถูกต้อง

เอกสารที่เกี่ยวข้อง