Server response code 526 Invalid SSL Certificate
HTTP สถานะรหัส 526 (ใบรับรอง SSL ไม่ถูกต้อง)
HTTP สถานะรหัส 526 หมายถึง ปัญหาเกี่ยวกับใบรับรอง SSL บนเซิร์ฟเวอร์ ซึ่งอาจทำให้ลูกค้าไม่สามารถสร้างการเชื่อมต่อที่ปลอดภัยได้ ความผิดพลาดนี้มักเกิดขึ้นเมื่อใช้พร็อกซีเซิร์ฟเวอร์ เช่น Cloudflare ซึ่งตรวจสอบใบรับรอง SSL ก่อนที่จะส่งคำขอบนเซิร์ฟเวอร์ของคุณ
สาเหตุของการเกิดข้อผิดพลาด 526
- ใบรับรอง SSL ไม่ถูกต้องหรือหมดอายุ
- ไม่มีใบรับรอง SSL บนเซิร์ฟเวอร์
- การตั้งค่า SSL บนเซิร์ฟเวอร์ไม่ถูกต้อง
ตัวอย่างการเกิดข้อผิดพลาด 526
-
ตัวอย่างจาก Cloudflare:
ลูกค้าพยายามเข้าถึงเว็บไซต์ผ่าน Cloudflare แต่ใบรับรองบนเซิร์ฟเวอร์ไม่ถูกต้อง ผลลัพธ์: แสดงหน้าข้อผิดพลาด 526
-
ตัวอย่างจากเซิร์ฟเวอร์ท้องถิ่น:
กำลังพัฒนาแอปพลิเคชันบนเซิร์ฟเวอร์ท้องถิ่นโดยใช้ใบรับรองที่เซ็นด้วยตนเอง เมื่อพยายามเชื่อมต่อกับแอปพลิเคชันผ่าน HTTPS จะเกิดข้อผิดพลาด 526
-
ตัวอย่างจากใบรับรองที่หมดอายุ:
ใบรับรอง SSL ของเว็บไซต์หมดอายุ และเว็บไซต์ยังคงใช้ใบรับรองนั้นโดยไม่ได้อัปเดต เมื่อลูกค้าเข้าชมเว็บไซต์จะได้รับข้อผิดพลาด 526
วิธีการแก้ไขข้อผิดพลาด 526 ในภาษาโปรแกรมต่างๆ
PHP
ตรวจสอบการตั้งค่า SSL ในโค้ดของคุณ ตรวจสอบให้แน่ใจว่าคุณใช้ใบรับรองที่ถูกต้องและไม่ได้หมดอายุ
$url = "https://example.com/api";
$options = [
"ssl" => [
"verify_peer" => true,
"verify_peer_name" => true,
"cafile" => "/path/to/cacert.pem",
],
];
$context = stream_context_create($options);
$response = file_get_contents($url, false, $context);
Python
ใช้ไลบรารี requests
เพื่อให้แน่ใจว่ามีการตรวจสอบ SSL ที่ถูกต้อง
import requests
url = "https://example.com/api"
response = requests.get(url, verify='/path/to/cacert.pem')
print(response.content)
Node.js
ตรวจสอบให้แน่ใจว่าการตั้งค่า HTTPS ของคุณถูกต้องและใช้ใบรับรองที่ทันสมัย
const https = require('https');
const fs = require('fs');
const options = {
key: fs.readFileSync('/path/to/privatekey.pem'),
cert: fs.readFileSync('/path/to/certificate.pem'),
ca: fs.readFileSync('/path/to/cacert.pem')
};
https.createServer(options, (req, res) => {
res.writeHead(200);
res.end('Hello Secure World!');
}).listen(443);
ตารางการเปรียบเทียบสาเหตุและวิธีการแก้ไข
สาเหตุ | วิธีการแก้ไข |
---|---|
ใบรับรอง SSL ไม่ถูกต้องหรือหมดอายุ | อัปเดตใบรับรอง SSL |
ไม่มีใบรับรอง SSL บนเซิร์ฟเวอร์ | ติดตั้งใบรับรอง SSL |
การตั้งค่า SSL บนเซิร์ฟเวอร์ไม่ถูกต้อง | ตรวจสอบและปรับตั้งค่า SSL |
ในบทความนี้ได้กล่าวถึงสาเหตุของข้อผิดพลาด 526 พร้อมตัวอย่างการเกิดขึ้นและวิธีการแก้ไขในภาษาโปรแกรมต่างๆ สิ่งนี้จะช่วยให้นักพัฒนาสามารถเข้าใจและแก้ไขปัญหานี้ในโปรเจกต์ของตนได้ดีขึ้น