ความหมาย
เซิร์ฟเวอร์เจอสถานการณ์ที่ไม่คาดคิดและดำเนินการตามคำขอไม่สำเร็จ เป็นรหัสรวมสำหรับข้อผิดพลาดฝั่งเซิร์ฟเวอร์
สาเหตุที่พบบ่อย
- exception ที่ไม่ได้จัดการหรือบั๊กในโค้ดแอป
- การตั้งค่าผิด เช่น .htaccess เสียหรือขาดตัวแปรสภาพแวดล้อม
- ฐานข้อมูลหรือ dependency ล้มเหลวโดยไม่ได้แปลงเป็นสถานะที่เหมาะกว่า
วิธีแก้ไข
สำหรับไคลเอนต์หรือผู้เยี่ยมชม
ลองใหม่ภายหลัง หากยังเกิดขึ้น ให้แจ้งพร้อมเวลาและ request id จากการตอบกลับ
สำหรับผู้ดูแลเว็บไซต์หรือ API
ตรวจ log ข้อผิดพลาดของแอปและเซิร์ฟเวอร์ แก้ exception และคืนรหัสที่เจาะจงกว่า (502, 503, 504) เมื่อรู้สาเหตุ
ตัวอย่างการตอบกลับ
HTTP/1.1
HTTP/1.1 500 Internal Server Error
Date: Tue, 07 Oct 2025 09:30:00 GMT
Server: nginx
Content-Type: application/problem+json
{
"type": "about:blank",
"title": "Internal Server Error",
"status": 500,
"detail": "Something went wrong. Request id: 01J9Z6Q4K2."
} ข้อกำหนด
คำถามที่พบบ่อย
› จะหาสาเหตุของ 500 ได้อย่างไร
ดู log ข้อผิดพลาดของเซิร์ฟเวอร์หรือแอปเพื่อหา stack trace ในเวลาที่เกิดคำขอ เปิดโหมด debug เฉพาะตอนพัฒนา
› ไฟล์ .htaccess ทำให้เกิด 500 ได้ไหม
ได้ ข้อผิดพลาดทางไวยากรณ์หรือ directive ที่ไม่รู้จักใน .htaccess ทำให้ Apache ตอบ 500