เชนใบรับรองไม่สมบูรณ์: แก้ใบรับรองกลางที่หายไป
· ทีม CSR.plus

- •ข้อผิดพลาดเชนเกือบทุกครั้งหมายถึงเซิร์ฟเวอร์ส่งใบโดยไม่มีใบรับรองกลางที่เบราว์เซอร์ต้องใช้ตรวจสอบ
- •วิธีแก้คือไฟล์ต่อเดียว: ใบ + กลางตามลำดับที่ถูกต้อง
- •ตรวจสอบด้วยการเช็คแบบ SSL Labs และคำสั่ง openssl เดียวกับที่ผู้เยี่ยมชมของคุณจะใช้
ทำไมเชนถึงขาด
เบราว์เซอร์เชื่อถือใบรับรองเพราะเชื่อถือรากของมัน ใบของคุณถูกเซ็นโดยใบรับรองกลางที่ไม่อยู่ในคลังความเชื่อถือของเบราว์เซอร์ ดังนั้นเซิร์ฟเวอร์ต้องส่งมันระหว่างการจับมือ หากการตั้งค่าชี้เฉพาะใบ หรือไฟล์ต่อผิดลำดับ ไคลเอนต์ที่ไม่แคชใบรับรองกลางจะล้มเหลวด้วย "เชนไม่สมบูรณ์", "unable to get local issuer certificate" หรือ NET::ERR_CERT_AUTHORITY_INVALID
วิธีแก้บน Nginx และ Apache
ดาวน์โหลดชุดเชนเต็มจาก CA ของคุณ (หรือจุดกลางในส่วนขยาย Authority Information Access ของใบรับรอง) ต่อ: cat yourdomain.com.crt intermediate.crt root.crt > fullchain.crt — ใบก่อน กลางตามลำดับ รากสุดท้าย ใน Nginx ชี้ ssl_certificate ไปที่ไฟล์ fullchain ใน Apache ตั้งค่า SSLCertificateChainFile (หรือรวมเชนใน SSLCertificateFile) จากนั้นรีโหลด
ตรวจสอบการแก้ไข
รัน openssl s_client -connect yourdomain.com:443 -servername yourdomain.com -showcerts 2>&1 | grep -A1 "Certificate chain" คุณควรเห็นใบตามด้วยกลาง openssl verify -CAfile root.pem fullchain.crt ควรพิมพ์ "fullchain.crt: OK" ทดสอบอีกครั้งด้วยโปรไฟล์เบราว์เซอร์ที่สะอาดและตัวตรวจสอบเชนภายนอก
FAQ
ทำไมใช้ได้บางเบราว์เซอร์แต่ไม่ได้บางตัว?
ไคลเอนต์ที่เพิ่งดึงใบรับรองกลางจากบันทึก CT หรือแคชสามารถตรวจสอบได้โดยไม่ต้องใช้ ส่วนที่เหลือไม่สามารถ วิธีแก้เหมือนกัน: ส่งเชนเต็ม
CDN ซ่อนปัญหานี้ไหม?
ไม่ — CDN จบ TLS ด้วยใบรับรองของตัวเอง หากคุณอัปโหลดเฉพาะใบ CDN จะส่งต่อเชนที่เสียเดียวกันให้ผู้เยี่ยมชม
UptimeRobot
ตรวจสอบ SSL และความพร้อมใช้งานฟรี
UptimeRobot เฝ้าดูใบรับรองและ endpoint ของคุณตลอด 24 ชั่วโมง — 50 จุดตรวจในแผนฟรี
ลิงก์พันธมิตร — เราอาจได้รับค่าคอมมิชชันโดยไม่มีค่าใช้จ่ายเพิ่มเติมกับคุณ
เครื่องมือ SSL/TLS ฟรี
ตรวจสอบใบรับรองของคุณในไม่กี่วินาที