บทนำ
ใบรับรอง SSL/TLS มีอายุ จำกัด โดยปกติ Let’s Encrypt ออกใบรับรองที่มีอายุ 90 วัน ถ้าจำนี้ไว้ด้วยตนเอง การต่ออายุจะซ้ำซ้อน แต่วิธีที่ดีที่สุดคือการตั้งค่า Certbot ให้อัตโนมัติ โดยใช้ Cron Job บน Cloud VPS ของคุณ บทความนี้จะสอนวิธีตั้งค่า Certbot ให้ต่ออายุ SSL อัตโนมัติด้วย Dry-run และ Webhook สำหรับการแจ้งเตือน
ความรู้เบื้องต้น
Certbot เป็นเครื่องมืออัตโนมัติของ Let’s Encrypt ที่ติดตั้งและต่ออายุใบรับรองได้ หากคุณเลือกใช้ Cloud VPS จาก Dot Enterprise คุณสามารถเข้าถึงควบคุมเต็มของเซิร์ฟเวอร์และสามารถตั้งค่าระบบอัตโนมัติได้ วิธีนี้ช่วยให้เว็บไซต์ของคุณปลอดภัยตลอดเวลา
ติดตั้ง Certbot บน Ubuntu/Debian
ขั้นแรกให้ติดตั้ง Certbot และ Certbot Cron:
sudo apt update
sudo apt install -y certbot python3-certbot-nginx
sudo apt install -y certbot-autoสำหรับระบบที่ใช้ Nginx หรือ Apache ให้ติดตั้ง Plugin ที่เหมาะสม:
sudo apt install -y python3-certbot-nginx
# หรือ
sudo apt install -y python3-certbot-apacheการตั้งค่า Dry-run เพื่อทดสอบ
ก่อนตั้งค่าจริง ให้ทดสอบการต่ออายุด้วย Dry-run mode:
sudo certbot renew --dry-run --verboseคำสั่งนี้จะทำการทดสอบการต่ออายุโดยไม่กระทบต่ออายุที่แท้จริง ถ้าไม่มีข้อผิดพลาด แสดงว่าการตั้งค่าถูกต้อง
ตั้งค่า Cron Job สำหรับการต่ออายุอัตโนมัติ
สร้าง Cron Job เพื่อให้ Certbot ตรวจสอบและต่ออายุใบรับรองทุกวัน:
sudo crontab -eเพิ่มบรรทัดต่อไปนี้:
0 3 * * * /usr/bin/certbot renew --quiet --post-hook "systemctl reload nginx"บรรทัดนี้จะรันการต่ออายุทุกวันเวลา 3 โมงเช้า และจะ Reload Nginx หลังจากสำเร็จ
การตั้งค่า Webhook สำหรับการแจ้งเตือน
หากต้องการได้รับการแจ้งเตือนเมื่อการต่ออายุสำเร็จหรือล้มเหลว ให้สร้างสคริปต์เพื่อส่ง Webhook:
#!/bin/bash
WEBHOOK_URL="https://your-webhook.example.com/notify"
STATUS="success"
MESSAGE="SSL Certificate renewed successfully"
curl -X POST -H "Content-Type: application/json" \
-d "{\"status\": \"$STATUS\", \"message\": \"$MESSAGE\"}" \
$WEBHOOK_URLแล้วเรียก Webhook นี้ใน Cron Job:
0 3 * * * /usr/bin/certbot renew --quiet --post-hook "/usr/local/bin/renewal-webhook.sh"สรุป
การตั้งค่า Certbot ให้ต่ออายุ SSL อัตโนมัติช่วยให้ความปลอดภัยของเว็บไซต์ไม่ขาดเลย เมื่อใช้ Cloud VPS จาก Dot Enterprise (https://de.co.th/cloud-vps) คุณมีความควบคุมเต็มที่สำหรับการตั้งค่า Cron Job และ Webhooks ด้วยตัวเอง ทำให้เซิร์ฟเวอร์ของคุณปลอดภัยและใช้งานได้โดยไม่มีการหยุดชะงัก
