ตรวจสอบวันหมดอายุ SSL Certificate อัตโนมัติ

อย่าปล่อยให้ลูกค้าเจอ Warning Not Secure เพราะลืมต่ออายุ SSL

ตรวจสอบวันหมดอายุ SSL Certificate อัตโนมัติ SSL

ทำไม SSL Certificate หมดอายุเป็นปัญหาใหญ่?

SSL Certificate มีอายุการใช้งาน โดยทั่วไปจะอยู่ระหว่าง 1 ปีถึง 3 ปี เมื่อ Certificate หมดอายุแล้ว เบราว์เซอร์จะแสดง Warning ว่า "Not Secure" ซึ่งเป็นสัญญาณว่าเว็บไซต์ของคุณไม่ปลอดภัย ผู้เยี่ยมชมส่วนใหญ่จะออกจากเว็บไซต์โดยทันที ไม่สนใจเนื้อหาของคุณเลย นอกจากนี้ Google ยังโทษเว็บไซต์ที่มี SSL หมดอายุในการจัดอันดับการค้นหา

ปัญหาทั่วไปที่เกิดขึ้น:

วิธีตรวจสอบวันหมดอายุ SSL ของคุณ

ก่อนที่จะตั้งระบบแจ้งเตือน ให้ตรวจสอบว่า SSL Certificate ปัจจุบันของคุณหมดอายุเมื่อไร:

ตรวจสอบผ่าน cPanel

วิธีที่ง่ายที่สุด:

  1. Login เข้า cPanel ที่ https://yourdomain.com:2083 ด้วยชื่อผู้ใช้และรหัสผ่าน
  2. มองหาส่วน SSL/TLS หรือ AutoSSL
  3. ดู Certificate Status — จะแสดงวันที่หมดอายุ (Expiration Date)
  4. ถ้าเหลือเวลาน้อยกว่า 30 วัน ให้ต่ออายุหรือปรับปรุงแล้ว

ตรวจสอบผ่านเบราว์เซอร์ (ง่ายสำหรับลูกค้า)

ผู้ใช้ทั่วไปสามารถตรวจสอบได้โดย:

  1. เข้าเว็บไซต์ผ่าน HTTPS (https://yourdomain.com)
  2. คลิกที่ไอคอน Padlock ที่อยู่ทางซ้ายของ Address Bar
  3. คลิก "Certificate" หรือ "Valid" ให้เห็นรายละเอียด Certificate
  4. ดูวันหมดอายุ (Valid until หรือ Expires on)

ระบบแจ้งเตือน SSL ผ่านเครื่องมือฟรี

วิธีที่ 1: ใช้ Expiry Bot ฟรีจาก SSL.com

SSL.com มีบริการเตือน SSL ฟรี ไม่ต้องติดตั้งอะไร:

  1. ไปที่ https://www.ssl.com/ssl-checker/
  2. ใส่ URL ของเว็บไซต์คุณ (เช่น https://yourdomain.com)
  3. ทำเครื่องหมาย "Email notification" เพื่อให้ส่ง Email ก่อน 30 วัน
  4. ใส่ Email ที่ต้องการรับการแจ้งเตือน
  5. คลิก Check

SSL.com จะตรวจสอบ Certificate ของคุณและส่ง Email แจ้งเตือน 30 วัน ก่อนหมดอายุ

วิธีที่ 2: ใช้ Cron Job ใน cPanel สำหรับอัตโนมัติ

วิธีนี้ขั้นสูงกว่า แต่คุณเสมือนควบคุมได้เต็มที่:

  1. สร้างไฟล์ PHP ชื่อ `check-ssl-expiry.php` ในโฟลเดอร์ public_html
  2. เขียนโค้ด PHP ที่ดึงข้อมูล Certificate และส่ง Email หากเหลือเวลาน้อยกว่า 30 วัน
  3. ตั้ง Cron Job ใน cPanel ให้รัน Script นี้ทุกวัน

ตัวอย่าง Cron Job ใน cPanel:

0 8 * * * php /home/USERNAME/public_html/check-ssl-expiry.php

หมายความว่า ทุกวันเวลา 8 นาฬิกาเช้า ให้รันไฟล์นี้

วิธีที่ 3: ใช้ AutoSSL ใน cPanel

นี่คือวิธีที่ง่ายและแนะนำที่สุด AutoSSL จะทำการต่ออายุ Certificate โดยอัตโนมัติก่อนหมดอายุ:

  1. Login เข้า cPanel
  2. หา AutoSSL หรือ SSL/TLS Status
  3. ค้นหาโดเมนของคุณ ตรวจสอบว่า AutoSSL เปิดใช้งานแล้ว
  4. ถ้าไม่ได้เปิด ให้คลิก Enable AutoSSL
  5. AutoSSL จะตรวจสอบและต่ออายุ Certificate โดยอัตโนมัติ 30 วันก่อนหมดอายุ
Tip: AutoSSL เป็นวิธีที่ดีที่สุดสำหรับ Shared Hosting เพราะมันทำให้คุณไม่ต้องห่วง Certificate หมดอายุเลย ส่วนใหญ่เป็นบริการฟรีเสมอ

การตั้งค่าการแจ้งเตือนผ่าน Email

หากเลือกใช้เครื่องมือฟรี เช่น SSL.com Checker หรือ Cron Job คุณสามารถตั้งค่าผู้รับ Email ได้:


ตรวจสอบว่าระบบแจ้งเตือนทำงานถูกต้อง

ก่อนพึ่งพาระบบแจ้งเตือน ให้ทดสอบว่าทำงานจริง:

# 1. ตรวจสอบวันหมดอายุ Certificate ผ่าน OpenSSL
echo | openssl s_client -servername yourdomain.com -connect yourdomain.com:443 2>/dev/null | openssl x509 -noout -dates

# 2. ตรวจสอบกำลังเหลืออีกกี่วัน (สำหรับ Linux/Mac)
echo | openssl s_client -servername yourdomain.com -connect yourdomain.com:443 2>/dev/null | openssl x509 -noout -dates | grep "notAfter" | date -f - +%s | awk '{print ($1-$(date +%s))/86400}'

# 3. ดู Certificate Info ทั้งหมด
curl -sI https://yourdomain.com | grep -i "strict-transport-security"

# 4. ตรวจสอบ Certificate Chain ว่าเสริมสมบูรณ์
curl -I https://yourdomain.com

# 5. ทดสอบผ่าน ssllabs.com API
curl "https://api.ssllabs.com/api/v3/analyze?host=yourdomain.com"
Tip: ถ้าคุณใช้ Windows ไม่มี OpenSSL ให้ใช้เครื่องมือออนไลน์ https://www.sslshopper.com/ssl-checker.html หรือ https://www.ssl-certificate-checker.com/ แทน ก็จะได้รหัส Certificate Status เดียวกัน

แก้ปัญหาที่พบบ่อย

Error: "Email แจ้งเตือนไม่เข้า"

ปัญหาทั่วไป:

Error: "AutoSSL ทำการต่ออายุไม่สำเร็จ"

สาเหตุ:

วิธีแก้: ตรวจสอบ DNS Setting ใน cPanel หรือ DNS Provider ให้ชี้ไปยัง Hosting ของคุณ ถ้ายังไม่ได้ ให้ติดต่อ Hosting Support

Error: "โดเมนหมดอายุพร้อมกับ SSL หมดอายุ"

ถ้าทั้ง SSL Certificate และโดเมน Registration หมดอายุในเวลาเดียวกัน จะต้องต่ออายุโดเมนก่อนจึงจะต่อ SSL ได้ เพราะ Certificate Validation ต้องยืนยันโดเมนนั้นยังหมดอายุหรือไม่

Error: "SSL Certificate ยังไม่ติดตั้ง"

ถ้าเว็บไซต์ยังไม่มี SSL Certificate เลย ไม่มีอะไรให้ต่ออายุ ต้องติดตั้ง SSL ใหม่ก่อน โดย:

Error: "Cron Job ทำการส่ง Email ไม่ได้"

ถ้าตั้ง Cron Job เองแล้วไม่ได้ Email:


คำถามที่พบบ่อย

Q: SSL Certificate หมดอายุกี่วันไปแล้ว เว็บยังเข้าได้หรือไม่?

A: ตั้งแต่วินาที Certificate หมดอายุแล้ว เว็บไซต์จะแสดง Warning "Not Secure" ทันที ผู้เยี่ยมชมยังคงเข้าได้แต่ขึ้น Warning ขนาดใหญ่บอก "Connection is not secure" ดังนั้นต้องต่ออายุทันที

Q: ระหว่างต่ออายุ SSL จะมีเวลาหยุดบริการหรือไม่?

A: ไม่มี Shared Hosting ส่วนใหญ่ใช้ AutoSSL ซึ่งจะออก Certificate ใหม่และโหลดลงบนเซิร์ฟเวอร์โดยไม่หยุดบริการ (Downtime 0) เว็บไซต์ของคุณจะทำงานต่อได้เรื่อย ๆ

Q: SSL Certificate มีหลายใบสำหรับโดเมนเดียวกันได้หรือ?

A: ได้ แต่เบราว์เซอร์จะใช้ Certificate ใบล่าสุดเท่านั้น บ่อยครั้งระหว่างต่ออายุ Certificate ใบเก่าและใบใหม่จะทับซ้อนกัน (Overlap period) สำหรับให้ผู้เยี่ยมชมบางคนยังใช้ Certificate ใบเก่า ระหว่างที่บางคนใช้ใบใหม่ วิธีนี้ป้องกัน Issue ที่อาจเกิดขึ้นระหว่างการเปลี่ยน Certificate