Contents

    Server response code 526 Invalid SSL Certificate

    HTTP สถานะรหัส 526 (ใบรับรอง SSL ไม่ถูกต้อง)

    HTTP สถานะรหัส 526 หมายถึง ปัญหาเกี่ยวกับใบรับรอง SSL บนเซิร์ฟเวอร์ ซึ่งอาจทำให้ลูกค้าไม่สามารถสร้างการเชื่อมต่อที่ปลอดภัยได้ ความผิดพลาดนี้มักเกิดขึ้นเมื่อใช้พร็อกซีเซิร์ฟเวอร์ เช่น Cloudflare ซึ่งตรวจสอบใบรับรอง SSL ก่อนที่จะส่งคำขอบนเซิร์ฟเวอร์ของคุณ

    526 - Invalid SSL Certificate

    สาเหตุของการเกิดข้อผิดพลาด 526

    • ใบรับรอง SSL ไม่ถูกต้องหรือหมดอายุ
    • ไม่มีใบรับรอง SSL บนเซิร์ฟเวอร์
    • การตั้งค่า SSL บนเซิร์ฟเวอร์ไม่ถูกต้อง

    ตัวอย่างการเกิดข้อผิดพลาด 526

    1. ตัวอย่างจาก Cloudflare:

      ลูกค้าพยายามเข้าถึงเว็บไซต์ผ่าน Cloudflare แต่ใบรับรองบนเซิร์ฟเวอร์ไม่ถูกต้อง ผลลัพธ์: แสดงหน้าข้อผิดพลาด 526

    2. ตัวอย่างจากเซิร์ฟเวอร์ท้องถิ่น:

      กำลังพัฒนาแอปพลิเคชันบนเซิร์ฟเวอร์ท้องถิ่นโดยใช้ใบรับรองที่เซ็นด้วยตนเอง เมื่อพยายามเชื่อมต่อกับแอปพลิเคชันผ่าน HTTPS จะเกิดข้อผิดพลาด 526

    3. ตัวอย่างจากใบรับรองที่หมดอายุ:

      ใบรับรอง 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 พร้อมตัวอย่างการเกิดขึ้นและวิธีการแก้ไขในภาษาโปรแกรมต่างๆ สิ่งนี้จะช่วยให้นักพัฒนาสามารถเข้าใจและแก้ไขปัญหานี้ในโปรเจกต์ของตนได้ดีขึ้น