คำตอบสั้น ๆ: ออกใบรับรอง SSL ฟรีจาก Let's Encrypt ให้โดเมนบน DirectAdmin บังคับเว็บไซต์ให้ใช้ HTTPS และแก้ปัญหาเมื่อออกใบรับรองไม่ผ่าน
คู่มือนี้อธิบาย DirectAdmin ทีละขั้นตอน พร้อมคำสั่งที่ใช้ได้จริงและปัญหาที่พบบ่อย
SSL Certificate ทำให้เว็บไซต์เปิดผ่าน https:// ได้ ข้อมูลระหว่างผู้ใช้กับเซิร์ฟเวอร์ถูกเข้ารหัส และเบราว์เซอร์จะไม่แสดงคำเตือน Not Secure ซึ่งมีผลต่อความน่าเชื่อถือและอันดับใน Google ด้วย DirectAdmin รองรับการออกใบรับรองฟรีจาก Let's Encrypt และต่ออายุให้อัตโนมัติ
ใบรับรองของ Let's Encrypt มีอายุสั้น (ไม่เกิน 90 วัน และ Let's Encrypt มีแผนจะลดให้สั้นลงอีก) แต่ DirectAdmin จะต่ออายุให้เองก่อนหมดอายุ ตราบใดที่โดเมนยังชี้มาที่เซิร์ฟเวอร์เดิม บทความนี้อ้างอิงหน้าจอ DirectAdmin แบบ Evolution skin
สิ่งที่ต้องเตรียม
- บัญชี DirectAdmin ระดับ User ที่มีโดเมนนั้นอยู่
- A Record ของโดเมน และของ
wwwชี้มายัง IP ของเซิร์ฟเวอร์นี้แล้ว (ดู ชี้โดเมนไปยังเซิร์ฟเวอร์) - Port 80 ของเซิร์ฟเวอร์เปิดรับจากภายนอก เพราะ Let's Encrypt ตรวจสอบโดเมนผ่าน HTTP
- หากใช้ Cloudflare แบบ Proxy (เมฆสีส้ม) ให้ปิดเป็น DNS only ชั่วคราวระหว่างออกใบรับรอง
ขั้นตอนที่ 1: ตรวจว่าโดเมนชี้มาที่เซิร์ฟเวอร์แล้ว
Let's Encrypt จะเข้ามาที่ http://โดเมน/.well-known/acme-challenge/ เพื่อยืนยันว่าคุณเป็นผู้ควบคุมโดเมน ถ้า DNS ยังชี้ไปที่อื่น การออกใบรับรองจะล้มเหลว ตรวจด้วยคำสั่ง
nslookup example.com
nslookup www.example.com
ทั้งสองชื่อต้องได้ IP เดียวกับที่ DirectAdmin แสดงในหน้า Account Information หรือที่ผู้ให้บริการแจ้ง
ขั้นตอนที่ 2: เปิดใช้ Secure SSL ให้โดเมน
- ล็อกอิน DirectAdmin แล้วไปที่หมวด Account Manager คลิก Domain Setup
- คลิกชื่อโดเมนที่ต้องการ
- ตรวจว่าตัวเลือก Secure SSL ถูกเปิดอยู่ หากยังไม่เปิดให้ติ๊กแล้วบันทึก
ในเซิร์ฟเวอร์ส่วนใหญ่ค่านี้เปิดไว้แล้วตั้งแต่สร้างโดเมน หากไม่พบตัวเลือกนี้ แสดงว่าแพ็กเกจของคุณอาจไม่ได้เปิดสิทธิ์ SSL ให้ติดต่อผู้ให้บริการ
ขั้นตอนที่ 3: ขอใบรับรองจาก Let's Encrypt
- ไปที่ Account Manager แล้วคลิก SSL Certificates
- เลือก Get automatic certificate from ACME Provider (เวอร์ชันเก่าจะเขียนว่า Free & automatic certificate from Let's Encrypt)
- ช่อง ACME Provider เลือก Let's Encrypt
- ช่อง Key Size ใช้ค่าเริ่มต้นได้ (เช่น secp384r1 หรือ RSA 2048/4096)
- ในรายการชื่อโดเมน ติ๊กชื่อที่ต้องการให้ใบรับรองครอบคลุม อย่างน้อย
example.comและwww.example.comและติ๊กmail.example.comหากใช้เป็นชื่อเมลเซิร์ฟเวอร์ ส่วนชื่อที่ยังไม่ได้ชี้ DNS มาที่นี่ให้เอาออก - กด Save
รอประมาณ 10 วินาทีถึง 1 นาที หากสำเร็จจะมีข้อความทำนอง Certificate and Key saved และหน้าเดียวกันจะแสดงวันหมดอายุของใบรับรอง
หมายเหตุ: ถ้าติ๊กชื่อใดที่ DNS ไม่ได้ชี้มายังเซิร์ฟเวอร์นี้ ใบรับรองทั้งใบจะออกไม่สำเร็จ ให้เลือกเฉพาะชื่อที่ชี้มาแล้ว ส่วน Wildcard (
*.example.com) ต้องยืนยันผ่าน DNS จึงใช้ได้เฉพาะเมื่อ DNS ของโดเมนอยู่บนเซิร์ฟเวอร์ DirectAdmin นี้