เช็ค SSL Certificate ใกล้หมดอายุของเว็บไซต์ก่อนเบราว์เซอร์บล็อก

ไม่มีอะไรทำลายความน่าเชื่อถือของเว็บได้เร็วเท่าหน้าจอแดงเต็มจอที่เขียนว่า "การเชื่อมต่อของคุณไม่เป็นส่วนตัว" และสาเหตุที่พบบ่อยที่สุดของหน้านั้นคือเรื่องเดียว — SSL Certificate หมดอายุ ข่าวดีคือมันป้องกันได้ง่ายมาก เพียงรู้ว่าใบรับรองเหลืออายุกี่วันและเช็คล่วงหน้าเป็นประจำ

SSL หมดอายุแล้วเกิดอะไรขึ้น

เมื่อ SSL Certificate หมดอายุ เบราว์เซอร์ทุกตัว (Chrome, Safari, Firefox, Edge) จะ หยุดผู้เข้าชมไว้ที่หน้าเตือน ก่อนเข้าเว็บ ผู้ใช้ต้องกดยอมรับความเสี่ยงเองถึงจะเข้าได้ ซึ่งคนส่วนใหญ่จะปิดแท็บแล้วไปเว็บอื่นทันที

ทำไม SSL ถึงหมดอายุเร็วกว่าที่คิด

อายุของ SSL Certificate สั้นลงเรื่อย ๆ ตามมาตรฐานอุตสาหกรรม ใบรับรองแบบเสียเงินในปัจจุบันออกได้สูงสุดราว 1 ปี ส่วน Let's Encrypt ที่ฟรีและนิยมที่สุดมีอายุเพียง 90 วัน เท่านั้น นั่นหมายความว่าถ้าไม่มีระบบต่ออายุอัตโนมัติ คุณต้องจำวันต่ออายุทุก 3 เดือน

ประเภท SSLอายุใบรับรองต่ออายุอัตโนมัติได้ไหม
Let's Encrypt (ฟรี)90 วันได้ — ถ้าตั้ง Certbot / DirectAdmin ไว้
DV SSL (เสียเงิน)สูงสุด ~1 ปีขึ้นกับผู้ให้บริการ
OV / EV SSLสูงสุด ~1 ปีต้องต่อด้วยตนเอง + ยืนยันตัวตน

วิธีเช็ควันหมดอายุ SSL

วิธีที่ 1 — เครื่องมือออนไลน์ (ง่ายที่สุด)

เพียงพิมพ์ชื่อโดเมนลงเครื่องมือตรวจ ระบบจะบอกวันหมดอายุ ผู้ออกใบรับรอง และจำนวนวันที่เหลือ เครื่องมือตรวจสุขภาพโดเมนอย่าง dnsxray.com มีส่วน SSL ที่แสดงสถานะใบรับรองพร้อมกับ DNS, อีเมล และ WHOIS ในการค้นหาเดียว — ตรวจครั้งเดียวเห็นครบ ไม่ต้องเปิดหลายเว็บ

วิธีที่ 2 — ดูจากเบราว์เซอร์

เปิดเว็บแล้วคลิกที่ไอคอนแม่กุญแจหน้า URL → เลือกดูรายละเอียดใบรับรอง (Certificate) จะเห็นช่อง "Valid until" หรือ "หมดอายุ" บอกวันที่ตรง ๆ — เหมาะกับการเช็คเร็ว ๆ ทีละเว็บ

วิธีที่ 3 — คำสั่ง openssl

สำหรับผู้ดูแลระบบที่ต้องการเช็คจาก terminal:

echo | openssl s_client -servername example.com \
  -connect example.com:443 2>/dev/null \
  | openssl x509 -noout -dates

ผลลัพธ์จะแสดง notBefore และ notAfter — บรรทัด notAfter คือวันหมดอายุ

เข้าใจโครงสร้าง Certificate Chain ก่อนตรวจ

SSL Certificate ที่คุณติดตั้งบนเว็บไม่ได้ "ยืนยันตัวเอง" โดยตรงกับเบราว์เซอร์ — มันต้องพึ่ง ห่วงโซ่ความน่าเชื่อถือ (Certificate Chain) ที่ประกอบด้วย 3 ชั้น ได้แก่ Root CA, Intermediate CA และ End-entity Certificate ของคุณ การเข้าใจโครงสร้างนี้ทำให้รู้ว่าต้องตรวจ "อะไร" เพิ่มนอกจากวันหมดอายุ

ชั้นตัวอย่างอายุทั่วไปผลถ้าหมดอายุ
Root CADigiCert Global Root G220–30 ปีเบราว์เซอร์ทั้งหมดไม่เชื่อถือเว็บ
Intermediate CARapidSSL TLS RSA CA G15–10 ปีChain ขาด — บางอุปกรณ์ error
End-entity (ของคุณ)example.com90 วัน – 1 ปีเว็บถูกบล็อก

โดยปกติ Root CA และ Intermediate CA มีอายุนานพอที่จะไม่เป็นปัญหา แต่ถ้า Intermediate Certificate หายหรือไม่ได้ติดตั้งครบ เบราว์เซอร์จะแสดงข้อผิดพลาด "incomplete chain" ซึ่งสร้างความสับสนได้มาก เพราะใบรับรองหลักยังไม่หมดอายุแต่เว็บก็ error อยู่ดี เครื่องมือตรวจ SSL อย่าง dnsxray.com จะบอกสถานะของ Chain โดยอัตโนมัติ

ตรวจสอบด้วย curl และ Python สำหรับการ Monitor แบบอัตโนมัติ

หากคุณดูแลเว็บหลายไซต์และต้องการ Monitor SSL แบบอัตโนมัติทุกวัน สามารถเขียน Script เพื่อตรวจหมดอายุได้โดยไม่ต้องเปิด Browser ทีละเว็บ

วิธีที่ 4 — ตรวจด้วย curl (เหมาะกับ Cron Job)

# ตรวจวันหมดอายุพร้อม certificate info
curl -v --head https://example.com 2>&1 | grep "expire date"

# ตรวจแบบสั้น ดูแค่วันหมดอายุ
curl -v --silent --head https://example.com 2>&1 \
  | grep "expire date"

วิธีที่ 5 — Python script ตรวจหลายโดเมน

import ssl, socket
from datetime import datetime

def check_ssl(hostname, port=443):
    ctx = ssl.create_default_context()
    with ctx.wrap_socket(socket.socket(), server_hostname=hostname) as s:
        s.settimeout(5)
        s.connect((hostname, port))
        cert = s.getpeercert()
    expires = datetime.strptime(cert['notAfter'], '%b %d %H:%M:%S %Y %Z')
    days_left = (expires - datetime.utcnow()).days
    return days_left, expires.strftime('%Y-%m-%d')

for domain in ['example.com', 'another-site.com']:
    days, date = check_ssl(domain)
    status = 'OK' if days > 30 else ('WARNING' if days > 0 else 'EXPIRED')
    print(f'{domain}: {status} — expires {date} ({days} days)')

Script นี้รันผ่าน Cron ได้ เช่น ตั้งให้ตรวจทุกวันและส่ง Email แจ้งเตือนถ้าเหลือน้อยกว่า 30 วัน

ความแตกต่างระหว่าง DV, OV และ EV SSL

เมื่อตรวจ SSL ของเว็บ ควรรู้ด้วยว่าเว็บของคุณใช้ใบรับรองระดับไหน เพราะแต่ละระดับมีกระบวนการยืนยันตัวตนและวิธีต่ออายุที่แตกต่างกัน

ประเภทยืนยันอะไรเวลาออกใบรับรองเหมาะกับ
DV (Domain Validation)เป็นเจ้าของโดเมนจริงไม่กี่นาทีเว็บทั่วไป, บล็อก, Startup
OV (Organization Validation)เจ้าของโดเมน + ตัวตนองค์กร1–3 วันทำการเว็บธุรกิจ, องค์กร
EV (Extended Validation)ยืนยันองค์กรเข้มข้น (ทะเบียนบริษัท)3–7 วันทำการธนาคาร, e-Commerce ขนาดใหญ่

ในการต่ออายุ DV ทำได้เร็วและง่ายที่สุด แต่ OV และ EV ต้องส่งเอกสารยืนยันตัวตนใหม่ทุกครั้ง จึงต้องเริ่มกระบวนการล่วงหน้าอย่างน้อย 1–2 สัปดาห์ก่อนหมดอายุ

SSL Wildcard และ Multi-Domain SAN คืออะไร ต้องตรวจอย่างไร

เว็บที่มีหลาย Subdomain หรือหลายโดเมนมักใช้ใบรับรองพิเศษสองแบบ ซึ่งต้องตรวจให้ครบทุกโดเมนที่ครอบคลุม

เมื่อตรวจ SSL ควรดูที่ฟิลด์ Subject Alternative Name ใน Certificate Detail เพื่อยืนยันว่าโดเมนและ Subdomain ที่ใช้งานจริงทุกตัวถูกครอบคลุมอยู่ ถ้าเว็บมีทั้ง HTTP และ HTTPS ให้ทดสอบทั้ง 2 version ว่าเปลี่ยนเส้นทางถูกต้อง

ตรวจมากกว่าแค่ "วันหมดอายุ"

SSL ที่ยังไม่หมดอายุไม่ได้แปลว่าไม่มีปัญหา ควรตรวจเพิ่ม 3 จุดนี้ด้วย

กฎ 30 วัน: ตั้งเป้าตรวจ SSL ทุกเว็บอย่างน้อยเดือนละครั้ง และลงมือต่ออายุเมื่อเหลือ 30 วันขึ้นไป อย่ารอจนเหลือไม่กี่วัน เพราะการต่ออายุบางแบบ (โดยเฉพาะ OV/EV) ใช้เวลายืนยันตัวตนหลายวัน

ตั้งให้ SSL ต่ออายุเองอัตโนมัติ

วิธีที่ดีที่สุดคือไม่ต้องจำเลย — ใช้ระบบต่ออายุอัตโนมัติ

แต่ถึงจะตั้ง auto-renew แล้ว ก็ยังควรเช็คเป็นระยะ เพราะ auto-renew อาจล้มเหลวเงียบ ๆ ได้ (เช่น DNS เปลี่ยน หรือ port 80 ถูกบล็อก)

เช็คให้ติดเป็นนิสัย: เปิด dnsxray.com ตรวจโดเมนของคุณเดือนละครั้ง ดูส่วน SSL ว่าเหลือกี่วัน ถ้าใกล้หมดให้รีบต่อ — และถ้าดูแลหลายเว็บ ใช้ฟีเจอร์ตรวจหลายโดเมนพร้อมกันได้

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

Q: ใช้ Let's Encrypt ฟรี ต้องคอยต่อเองทุก 90 วันไหม

ไม่ ถ้าตั้ง auto-renew ไว้ — โฮสติ้งที่รองรับ DirectAdmin ส่วนใหญ่จะต่อให้อัตโนมัติ คุณแค่ตรวจเป็นระยะว่ามันทำงานจริง

Q: SSL หมดอายุแล้วเว็บหายไปเลยไหม

เว็บยังอยู่ แต่ผู้เข้าชมจะเจอหน้าเตือนก่อน หลายคนจะไม่กดผ่าน เท่ากับสูญเสียทราฟฟิกจริง ๆ จนกว่าจะต่ออายุ

Q: เช็คแล้วเหลือ 10 วัน ควรทำอย่างไร

ถ้าใช้ Let's Encrypt ให้สั่งต่ออายุทันที (มักเสร็จในไม่กี่นาที) ถ้าเป็น SSL เสียเงินให้ติดต่อผู้ให้บริการเร่งด่วน เพราะการยืนยันตัวตนอาจใช้เวลา

Q: AsiaGB จัดการ SSL ให้ไหม

จัดการให้ — AsiaGB Hosting ออก SSL ฟรีและตั้งต่ออายุอัตโนมัติให้ ส่วนลูกค้าที่ต้องการ SSL แบบเสียเงิน (DV/OV/EV) ทีมงานช่วยติดตั้งและแจ้งเตือนก่อนหมดอายุ

สรุป: SSL หมดอายุคือสาเหตุอันดับต้น ๆ ที่ทำให้เว็บถูกบล็อก ป้องกันได้ด้วยการเช็ควันหมดอายุเดือนละครั้ง ต่ออายุเมื่อเหลือ 30 วันขึ้นไป และตั้งระบบ auto-renew ไว้ — แต่ก็ยังต้องเช็คซ้ำเสมอเพราะ auto-renew พังเงียบได้

SSL ฟรี ต่ออายุอัตโนมัติ ทุกแพ็กเกจ

AsiaGB Hosting แถม SSL ฟรีและตั้งต่ออายุอัตโนมัติให้ทุกเว็บ — ไม่ต้องกลัวใบรับรองหมด Hosting SSD เริ่ม 500 บาท/ปี Uptime 99% DirectAdmin

ดูบริการ SSL