ออก Let's Encrypt SSL ใน DirectAdmin Control Panel ทีละขั้นตอน

ใบรับรอง SSL (Secure Socket Layer) เป็นสิ่งสำคัญสำหรับการรักษาความปลอดภัยเว็บไซต์ ทำให้ผู้เข้าชมรู้สึกปลอดภัยเมื่อส่งข้อมูลส่วนตัวหรือการชำระเงิน ในอดีต การออกใบรับรอง SSL นั้นค่อนข้างแพง แต่ปัจจุบันมี Let's Encrypt ที่ออกใบรับรอง SSL ฟรี และ DirectAdmin ของ AsiaGB ได้เชื่อมต่อกับ Let's Encrypt แล้ว ทำให้คุณสามารถออกใบรับรอง SSL ได้ตั้งแต่ Hosting เริ่มต้น 500 บาท/ปี โดยไม่ต้องจ่ายค่า SSL เพิ่มเติม

Let's Encrypt คืออะไร

Let's Encrypt เป็นหน่วยงาน Certificate Authority (CA) ไม่แสวงหาผลกำไรที่ได้รับการสนับสนุนจากองค์กรใหญ่เช่น Mozilla, Google, Cisco เป็นต้น ตั้งจากปี 2016 Let's Encrypt ได้ออกใบรับรอง SSL ฟรีให้เวบไซต์ทั่วโลกเพื่อให้ HTTPS มีความแพร่หลายมากขึ้น ใบรับรองของ Let's Encrypt เป็นชนิด Domain Validation (DV) ซึ่งให้ระดับความปลอดภัยเทียบเท่ากับ SSL ที่ต้องจ่ายเงิน แต่เพียงแต่ไม่มีการยืนยันตัวตนขององค์กร (ไม่มีสัญลักษณ์ 'Organization Validated')

ใบรับรอง Let's Encrypt มีอายุ 90 วัน ซึ่งสั้นกว่า SSL ทั่วไป (1 ปี) อย่างไรก็ตาม DirectAdmin อัปเดต (renew) ใบรับรองโดยอัตโนมัติก่อนหมดอายุ ดังนั้นผู้ใช้จึงไม่ต้องกังวล เพียงแต่ต้องให้โดเมนชี้มาที่เซิร์ฟเวอร์ก่อน

ขั้นตอนเตรียมการก่อนออก Let's Encrypt SSL

ก่อนจะออกใบรับรอง Let's Encrypt ใน DirectAdmin ต้องตรวจสอบ 3 สิ่ง:

  1. โดเมนต้องชี้มาที่เซิร์ฟเวอร์ของ AsiaGB ให้ดู Nameserver ของโดเมน ต้องชี้ไปยัง ns1 หรือ ns2 ของ AsiaGB หรือ ใช้ Direct A Record ที่ชี้ไปยัง IP ของเซิร์ฟเวอร์ AsiaGB โดยเฉพาะอย่างยิ่งถ้ายังใช้ Nameserver เดิมจากผู้ให้บริการก่อนหน้า ต้องเปลี่ยนไปก่อน ห้ามออก SSL
  2. ให้เวลา DNS ซิงค์ไม่น้อยกว่า 2-4 ชั่วโมง หลังจากเปลี่ยน Nameserver ให้รออย่างน้อย 2-4 ชั่วโมงขึ้นไป (บางครั้ง 24 ชั่วโมง) เพื่อให้ DNS ซิงค์ทั่วโลก ถ้าออก SSL เร็วเกินไป Let's Encrypt จะไม่เจอโดเมน
  3. ตรวจสอบไม่มี CAA Record ที่บล็อก Let's Encrypt บางโดเมนเดิมอาจมี CAA (Certification Authority Authorization) Record ที่ระบุให้เฉพาะ CA เก่าออกใบรับรอง ต้องเพิ่มหรือแก้ไข CAA Record ให้อนุญาต Let's Encrypt

วิธีออก Let's Encrypt SSL ใน DirectAdmin

เมื่อเตรียมการเสร็จแล้ว ก็สามารถออกใบรับรอง Let's Encrypt ได้ในไม่กี่คลิก:

  1. เข้า DirectAdmin Control Panel ที่ billing.in.th/cp (หรือ domain.com:2222 ถ้าจำเรียบตัวเอง)
  2. ไปที่เมนู "SSL Certificates" ในหมวด "Domains"
  3. เลือกโดเมนที่ต้องการออก SSL ในรายการ "Domain" หรือ "Addon Domain"
  4. บนหน้า SSL Certificate Management เลือก "Let's Encrypt" จากเมนูแบบเลื่อน "Select a certificate to install:"
  5. เลือก "Save" หรือ "Issue/Save"
  6. หากสำเร็จ จะเห็นข้อความ "SSL certificate has been installed successfully" ใบรับรอง SSL ก็พร้อมใช้งานแล้ว

กระบวนการออกใบรับรองโดยปกติเสร็จในเวลาไม่กี่นาที จากนั้นโดเมนจะใช้ HTTPS ได้ทันที แต่หากเกิด error จะแสดงข้อความ "ACME challenge failed" ให้ดูส่วนแก้ปัญหาด้านล่าง

เปิดการอัปเดต Auto-Renewal เพื่อต่ออายุอัตโนมัติ

DirectAdmin จัดให้ auto-renewal ของ Let's Encrypt เป็น default ทำให้ใบรับรองต่ออายุอัตโนมัติก่อนหมดอายุ 90 วัน ผู้ใช้ไม่ต้องทำอะไร ระบบจะดำเนินการเอง อย่างไรก็ตาม หากต้องการตรวจสอบว่า auto-renewal เปิดอยู่หรือไม่ สามารถทำได้ดังนี้:

  1. เข้า DirectAdmin แล้วไปที่ "SSL Certificates" อีกครั้ง
  2. ตรวจดูบริเวณใกล้ปุ่ม "Issue/Save" ว่ามีตัวเลือก "Auto renewal" ที่เลือกไว้หรือไม่
  3. ถ้าเลือกไว้แล้ว (checked) ไม่ต้องทำอะไร DirectAdmin จะต่ออายุทุกครั้งก่อนหมดอายุ

บังคับให้เว็บไซต์ใช้ HTTPS โดยอัตโนมัติ

เมื่อติดตั้ง SSL แล้ว เว็บไซต์สามารถเข้าได้ทั้ง HTTP (ไม่ปลอดภัย) และ HTTPS (ปลอดภัย) เพื่อบังคับให้ผู้เข้าชมใช้ HTTPS เสมอ ต้องตั้ง Redirect หรือแก้ไข .htaccess ไฟล์

วิธีแรก: ใช้ DirectAdmin Redirect

  1. ไปที่ "Domains" → "Redirects"
  2. เลือกโดเมน แล้วตั้ง HTTP ไปยัง HTTPS

วิธีที่สอง: แก้ไข .htaccess ใน File Manager

เพิ่มบรรทัดนี้ที่ด้านบนของไฟล์ .htaccess:

RewriteEngine On
RewriteCond %{HTTPS} !on
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

แก้ไขปัญหา: ACME Challenge Failed

หากโปรแกรม DirectAdmin ให้ข้อความ "ACME challenge failed" เมื่อออก Let's Encrypt ให้ลองสาเหตุต่อไปนี้:

  1. โดเมนยังไม่ชี้มาที่เซิร์ฟเวอร์ ตรวจสอบว่า DNS โดเมนชี้มาที่เซิร์ฟเวอร์ของ AsiaGB จริงหรือไม่ ใช้เครื่องมือ DNS Lookup เพื่อตรวจสอบ IP ของโดเมน
  2. DNS ยังไม่ซิงค์เสร็จ ให้รออย่างน้อย 24 ชั่วโมงหลังเปลี่ยน Nameserver ก่อนออก SSL ใน DirectAdmin
  3. CAA Record บล็อก Let's Encrypt ตรวจสอบ CAA Record ของโดเมน ตัดสินใจเพิ่มสิทธิให้ Let's Encrypt ได้ออกใบรับรอง ใช้คำสั่ง: dig yourdomain.com CAA
  4. Firewall หรือ WAF บล็อก ACME Challenge บางครั้ง Cloudflare หรือระบบ WAF อาจบล็อก request จากเซิร์ฟเวอร์ DirectAdmin ต้องเพิ่ม whitelist หรือปิดการป้องกัน ชั่วคราว

เตือนภัย: Mixed Content หลังติดตั้ง SSL

หลังจากติดตั้ง SSL และเปลี่ยนทั้งเว็บเป็น HTTPS โปรแกรม browser อาจแสดงเตือน "Mixed Content" (ส่วนหนึ่งปลอดภัย ส่วนหนึ่งไม่ปลอดภัย) สาเหตุมักเกิดจาก:

วิธีแก้คือ ให้เปลี่ยนลิงก์ทั้งหมดจาก HTTP เป็น HTTPS หรือใช้ `//` แทน `https://` เพื่อให้ auto-select ตามโปรโตคอลของเพจหลัก

ประโยชน์ของการใช้ Let's Encrypt SSL ใน DirectAdmin

การใช้ Let's Encrypt ใน DirectAdmin ของ AsiaGB ได้รับประโยชน์หลายประการ:

เคล็ดลับ: บริหาร Hosting ใน DirectAdmin นั้นง่าย โดยเฉพาะการออก SSL ฟรี ด้วย Let's Encrypt เว็บไซต์ทั้งหมดใน Shared Hosting ของ AsiaGB ได้รับ Let's Encrypt แบบไม่จำกัด ไม่ต้องชำระค่า SSL เพิ่มเติม ซึ่งเป็นการประหยัดได้มากสำหรับเว็บไซต์เล็ก

เปรียบเทียบ Let's Encrypt กับ SSL ที่ AsiaGB ออกให้

AsiaGB ออกให้ 2 ประเภท SSL: ฟรี (Let's Encrypt) และเสียเงิน (RapidSSL ราคา 1,000 บาท/ปี)

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

DirectAdmin ออกใบรับรอง Let's Encrypt ได้ฟรีจริงไหม

ใช่แน่นอน Let's Encrypt เป็นหน่วยงาน Certificate Authority ที่ออกใบรับรอง SSL ฟรีให้ทุกโดเมนโลก DirectAdmin มีการรวม Let's Encrypt เข้ามาในระบบแล้ว คุณไม่ต้องจ่ายค่า SSL เพิ่มเติมเลย

Let's Encrypt auto-renewal ใน DirectAdmin เปิดให้อัตโนมัติหรือต้องเปิดเอง

DirectAdmin ได้ตั้ง auto-renewal ให้อัตโนมัติตั้งแต่แรก ระบบจะต่ออายุใบรับรองโดยอัตโนมัติประมาณ 30 วันก่อนหมดอายุ ผู้ใช้ไม่ต้องกังวลเรื่องหมดอายุ

ถ้าออก Let's Encrypt แล้วโดเมนยังไม่ชี้มาที่เซิร์ฟเวอร์จะเกิดอะไรขึ้น

ใบรับรองจะขออนุญาตไม่ผ่าน (ACME challenge failed) เพราะ Let's Encrypt ต้องตรวจสอบว่าคุณเป็นเจ้าของโดเมนจริงๆ วิธีแก้คือ ชี้ DNS โดเมนมาที่เซิร์ฟเวอร์ก่อน แล้วค่อยออกใบรับรองใหม่

Let's Encrypt และ SSL ที่ AsiaGB ออกให้ (RapidSSL ฯลฯ) ต่างกันตรงไหน

Let's Encrypt เป็น Domain Validation (DV) ฟรี รับรองแค่ว่าคุณเป็นเจ้าของโดเมน ส่วน RapidSSL หรือ GeoTrust ของ AsiaGB (1,000 บาท/ปี) เป็น DV, OV, EV ขึ้นอยู่ว่าคุณซื้อแบบไหน ทั้งคู่ทำงานเหมือนกันในเรื่องการเข้ารหัส แต่ SSL ที่เสียเงินจะมีความน่าเชื่อถือมากกว่าสำหรับ ecommerce ขนาดใหญ่

ถ้าเลือก Let's Encrypt ใน DirectAdmin แล้วเปลี่ยนใจอยากใช้ SSL ที่เสียเงินได้ไหม

ได้อย่างแน่นอน เปลี่ยนได้ทุกเมื่อ แค่ออกใบรับรองชนิดใหม่ก็พอ DirectAdmin จะแทนที่ใบเก่าด้วยใบใหม่

เว็บไซต์ของคุณปลอดภัยกับ SSL ฟรี

Shared Hosting ของ AsiaGB มี Let's Encrypt ฟรีไม่จำกัด 500 บาท/ปี พร้อม DirectAdmin Control Panel, SSD Storage, Uptime 99%, และ Backup 2 ครั้ง/เดือน

ดูแพ็กเกจ Hosting