วิธีติดตั้ง SSL Certificate บน DirectAdmin ทั้งแบบฟรีและซื้อเอง

ทำไมต้องติดตั้ง SSL บน DirectAdmin

DirectAdmin คือระบบจัดการ Hosting ที่ AsiaGB ใช้ให้บริการ มีอินเทอร์เฟซที่เรียบง่ายและรองรับการติดตั้ง SSL ได้ครบทั้งสองรูปแบบ ไม่ว่าจะเป็น Let's Encrypt ฟรีที่เปิดได้ภายในไม่กี่คลิก หรือ SSL แบบซื้อ (Paid SSL) จากผู้ให้บริการชั้นนำอย่าง RapidSSL, GeoTrust และ DigiCert

การมี SSL ไม่ใช่แค่เรื่องความปลอดภัยเท่านั้น แต่ยังส่งผลต่อความน่าเชื่อถือของเว็บไซต์ ผู้เยี่ยมชมที่เห็นไอคอนแม่กุญแจสีเขียวหรือ "https://" ในแถบที่อยู่จะมั่นใจที่จะกรอกข้อมูล ชำระเงิน และใช้งานเว็บของคุณมากกว่า นอกจากนี้ Google ยังใช้ HTTPS เป็นสัญญาณในการจัดอันดับ SEO ด้วย บทความนี้จะพาคุณผ่านขั้นตอนการติดตั้ง SSL บน DirectAdmin ทีละขั้นตอนในทั้งสองวิธี

วิธีที่ 1: ติดตั้ง Let's Encrypt ฟรีบน DirectAdmin

Let's Encrypt คือ SSL Certificate ฟรีที่ออกโดยองค์กรไม่แสวงผลกำไร Internet Security Research Group (ISRG) เป็น DV SSL ที่รองรับทุกเบราว์เซอร์สมัยใหม่และต่ออายุอัตโนมัติทุก 60 วัน (อายุ Certificate จริงคือ 90 วัน) Hosting ของ AsiaGB รองรับ Let's Encrypt ทุกแพ็กเกจ

ขั้นตอนการเปิดใช้ Let's Encrypt ใน DirectAdmin

  1. เข้าสู่ระบบ DirectAdmin ที่ URL ที่ได้รับจาก AsiaGB (เช่น server.asiagb.com:2222)
  2. ในแดชบอร์ดหลัก มองหาหมวด Advanced Features หรือ SSL Certificates
  3. คลิก SSL Certificates
  4. เลือกโดเมนที่ต้องการเปิด HTTPS จากเมนูด้านบน
  5. เลือก Tab หรือตัวเลือก Free & automatic certificate from Let's Encrypt
  6. ตรวจสอบว่าโดเมนและ www.โดเมน ถูกเลือกอยู่ทั้งคู่
  7. กดปุ่ม Save
  8. รอประมาณ 1–2 นาที ระบบจะดำเนินการขอและติดตั้ง Certificate ให้อัตโนมัติ

เมื่อติดตั้งสำเร็จ ลองเปิดเว็บไซต์ในเบราว์เซอร์ด้วย https:// หน้าเว็บควรแสดงไอคอนแม่กุญแจในแถบที่อยู่ทันที ไม่ต้องทำอะไรเพิ่มเติม DirectAdmin จะต่ออายุ Certificate ให้อัตโนมัติก่อนหมดอายุ

เคล็ดลับ: หาก DirectAdmin แสดงข้อผิดพลาดขณะขอ Let's Encrypt ให้ตรวจสอบว่าโดเมนของคุณชี้มาที่ IP ของเซิร์ฟเวอร์แล้ว DNS ต้องพร้อมก่อนจึงจะออก Certificate ได้ หากเพิ่งย้าย Hosting อาจต้องรอ DNS Propagation 24–48 ชั่วโมง

การต่ออายุอัตโนมัติ (Auto-Renew) ของ Let's Encrypt

จุดเด่นสำคัญของ Let's Encrypt บน DirectAdmin คือไม่ต้องต่ออายุด้วยมือ ระบบจะตั้ง Cron Job ตรวจสอบและต่ออายุ Certificate ให้อัตโนมัติก่อนหมดอายุประมาณ 30 วัน (ขณะ Certificate เหลืออายุ 30 จาก 90 วัน) คุณจึงไม่ต้องกังวลว่า HTTPS จะหลุดกลางทาง ตราบใดที่โดเมนยังชี้มาที่เซิร์ฟเวอร์เดิม

หากต้องการตรวจว่า Certificate จะหมดอายุเมื่อไหร่ ให้คลิกที่ไอคอนแม่กุญแจในเบราว์เซอร์แล้วดูวันที่ "Valid Until" หรือใช้เครื่องมือออนไลน์ตรวจ Expiry Date เพื่อความสบายใจ สำหรับลูกค้า AsiaGB หากเปลี่ยนแพ็กเกจหรือย้ายโดเมน Certificate เดิมจะยังต่ออายุได้ตราบใดที่ DNS Record ยังถูกต้อง

ข้อควรรู้: Let's Encrypt รองรับเฉพาะ DV (Domain Validation) เท่านั้น หากธุรกิจของคุณต้องการแสดงชื่อบริษัทใน Certificate (OV/EV) หรือต้องการ Wildcard ครอบทุก Subdomain โดยไม่ต้องตั้งค่าทีละตัว ให้พิจารณา SSL แบบซื้อในหัวข้อถัดไป

วิธีที่ 2: ติดตั้ง SSL แบบซื้อ (Paid SSL) บน DirectAdmin

SSL แบบซื้อเหมาะสำหรับเว็บที่ต้องการ OV SSL (ยืนยันตัวตนองค์กร), EV SSL (ความน่าเชื่อถือระดับสูง) หรือ Wildcard SSL (ครอบคลุมทุก Subdomain) ซึ่ง Let's Encrypt ไม่รองรับ กระบวนการมีอยู่ 4 ขั้นตอนหลัก ได้แก่ สร้าง CSR, ยื่นกับ CA, รับไฟล์ Certificate และนำไปติดตั้งใน DirectAdmin

ขั้นตอนที่ 1: สร้าง CSR ใน DirectAdmin

CSR (Certificate Signing Request) คือไฟล์ข้อมูลที่ใช้ยืนยันตัวตนเว็บไซต์และโดเมนกับผู้ออก Certificate (CA) ต้องสร้างใน DirectAdmin ก่อนเสมอ

  1. เข้าสู่ DirectAdmin → คลิก SSL Certificates
  2. เลือกโดเมนที่ต้องการ
  3. คลิก Tab Paste a pre-generated certificate and key แล้วมองหาปุ่ม Create a Certificate Request หรือ Tab Generate a Certificate Request
  4. กรอกข้อมูลให้ครบ: ชื่อโดเมน (Common Name เช่น www.yourdomain.com), ชื่อองค์กร, เมือง, รัฐ/จังหวัด, ประเทศ (TH)
  5. เลือก Key Size เป็น 2048 หรือ 4096 bit
  6. กด Save จะได้ไฟล์ CSR เป็น Text Block ที่ขึ้นต้นด้วย -----BEGIN CERTIFICATE REQUEST-----

ขั้นตอนที่ 2: ยื่น CSR กับ CA และรับ Certificate

  1. นำ CSR ที่ได้ไปกรอกในขั้นตอนการสั่งซื้อ SSL จาก AsiaGB ที่ billing.in.th
  2. ทำตามขั้นตอน Domain Validation เช่น การยืนยันผ่านอีเมล หรือการเพิ่ม TXT Record ใน DNS
  3. เมื่อยืนยันสำเร็จ CA จะส่งไฟล์ Certificate กลับมาทางอีเมล ประกอบด้วย: Certificate (.crt) และ CA Bundle / Intermediate Certificate

ขั้นตอนที่ 3: ติดตั้ง Certificate ใน DirectAdmin

  1. กลับมาที่ DirectAdmin → SSL Certificates → เลือกโดเมน
  2. เลือก Tab Paste a pre-generated certificate and key
  3. วาง Private Key ในช่อง Key (ควรถูกสร้างไว้แล้วตอน Generate CSR)
  4. วาง Certificate (.crt) ในช่อง Certificate
  5. วาง CA Bundle ในช่อง Certificate Authority Bundle (CA Bundle)
  6. กด Save

บังคับ Force HTTPS ด้วย .htaccess

หลังติดตั้ง SSL แล้ว ผู้ใช้ที่พิมพ์ http:// จะยังเข้าถึงเว็บแบบไม่เข้ารหัสได้อยู่ ควรบังคับ Redirect ทุกคำขอ HTTP ไปยัง HTTPS โดยการเพิ่มโค้ดต่อไปนี้ใน .htaccess ที่ Root ของเว็บไซต์:

โค้ด .htaccess สำหรับ Force HTTPS:

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

หากใช้ WordPress สามารถเปลี่ยน WordPress Address และ Site Address ใน Settings → General ให้เป็น https:// ได้เลย และใช้ Plugin เช่น Really Simple SSL เพื่อจัดการ Force HTTPS อัตโนมัติ ส่วนเว็บที่เขียนด้วย PHP/HTML ธรรมดา การใส่โค้ดใน .htaccess ด้านบนก็เพียงพอแล้ว ไม่จำเป็นต้องแก้โค้ดในแต่ละหน้า

สำหรับเว็บที่ต้องการความปลอดภัยขั้นสูง สามารถเพิ่ม HSTS (HTTP Strict Transport Security) Header เพื่อบังคับให้เบราว์เซอร์เชื่อมต่อผ่าน HTTPS เสมอแม้ผู้ใช้พิมพ์ http:// โดยเพิ่มบรรทัด Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains" ใน .htaccess แต่ควรเปิดใช้เมื่อมั่นใจแล้วว่า SSL ทำงานสมบูรณ์ทุกหน้า เพราะ HSTS จะถูก Cache ไว้ในเบราว์เซอร์เป็นเวลานาน

ปัญหาที่พบบ่อยหลังติดตั้ง SSL และวิธีแก้

หลังติดตั้ง SSL บน DirectAdmin ผู้ใช้มักพบปัญหาคล้ายๆ กัน 3 อย่าง ต่อไปนี้คือสาเหตุและวิธีแก้ที่ใช้ได้จริง:

อาการ สาเหตุ วิธีแก้
แม่กุญแจมีเครื่องหมายเตือน (Mixed Content) ยังมีรูป/CSS/JS ที่เรียกผ่าน http:// อยู่บนหน้า HTTPS แก้ลิงก์ทรัพยากรให้เป็น https:// หรือ // ใช้ Plugin Really Simple SSL/Better Search Replace แทนทั้งฐานข้อมูล
เบราว์เซอร์แจ้ง "Certificate chain incomplete" ติดตั้ง Certificate แล้วแต่ไม่ได้ใส่ CA Bundle / Intermediate กลับไปที่ SSL Certificates → วาง CA Bundle ในช่อง Certificate Authority Bundle แล้วกด Save
Certificate หมดอายุ ไม่ต่อให้อัตโนมัติ โดเมนชี้ไป IP อื่น หรือ DNS เปลี่ยน ทำให้ตรวจสอบความเป็นเจ้าของไม่ผ่าน ตรวจว่า A Record ชี้มาที่เซิร์ฟเวอร์ AsiaGB แล้วกด Save ใน Let's Encrypt เพื่อขอใหม่

หากเป็น Mixed Content วิธีที่เร็วที่สุดคือเปิด Developer Tools (กด F12) ไปที่แท็บ Console เบราว์เซอร์จะระบุชัดเจนว่าทรัพยากรไหนยังโหลดผ่าน http:// แล้วแก้ทีละรายการ ส่วนปัญหา Chain Incomplete สามารถยืนยันได้ด้วย SSL Labs ที่จะเตือน "Chain issues: Incomplete" ถ้าขาด Intermediate Certificate

ทดสอบ SSL หลังติดตั้ง

หลังจากติดตั้งและตั้งค่า Force HTTPS แล้ว ควรทดสอบความถูกต้องของ SSL ด้วยวิธีต่อไปนี้:

สรุป: ควรเลือก Let's Encrypt หรือ SSL แบบซื้อ

สำหรับเว็บไซต์ทั่วไป บล็อก และเว็บองค์กรขนาดเล็ก Let's Encrypt ที่รวมมาพร้อม Hosting ของ AsiaGB เพียงพอแล้ว ไม่ต้องเสียค่าใช้จ่ายเพิ่มเติมและต่ออายุอัตโนมัติ แต่ถ้าเว็บของคุณเป็นธุรกิจที่รับชำระเงินออนไลน์ ต้องการแสดงชื่อองค์กรใน Certificate หรือมีหลาย Subdomain ก็ควรพิจารณา SSL แบบซื้อ เริ่มต้นเพียง 1,000 บาท/ปี จาก RapidSSL, GeoTrust และ DigiCert

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

ติดตั้ง SSL บน DirectAdmin ฟรีจริงหรือไม่?

จริง Let's Encrypt เป็น SSL ฟรีที่รวมมาให้ในทุกแพ็กเกจ Hosting ของ AsiaGB ผ่านเมนู SSL Certificates ใน DirectAdmin เปิดใช้ได้ภายในไม่กี่คลิกและต่ออายุอัตโนมัติ ไม่มีค่าใช้จ่ายเพิ่มเติม หากต้องการ OV/EV หรือ Wildcard จึงค่อยพิจารณา SSL แบบซื้อ เริ่มต้น 1,000 บาท/ปี

Let's Encrypt ต่ออายุเองหรือต้องต่อด้วยมือ?

DirectAdmin จะต่ออายุ Let's Encrypt ให้อัตโนมัติก่อนหมดอายุประมาณ 30 วัน ผ่าน Cron Job ของระบบ คุณไม่ต้องทำอะไรเพิ่ม ตราบใดที่โดเมนยังชี้มาที่เซิร์ฟเวอร์เดิมและ DNS ถูกต้อง Certificate จะต่ออายุเองทุกรอบ

ทำไมเว็บยังขึ้น "ไม่ปลอดภัย" ทั้งที่ติดตั้ง SSL แล้ว?

ส่วนใหญ่เกิดจาก Mixed Content คือยังมีรูปภาพ ไฟล์ CSS หรือ JavaScript ที่เรียกผ่าน http:// อยู่บนหน้า HTTPS ให้เปิด Developer Tools (F12) ที่แท็บ Console เพื่อดูว่าทรัพยากรไหนเป็นต้นเหตุ แล้วแก้ลิงก์ให้เป็น https:// หรือใช้ Plugin จัดการให้

ติดตั้ง SSL แบบซื้อบน DirectAdmin ต่างจาก Let's Encrypt อย่างไร?

SSL แบบซื้อต้องสร้าง CSR ใน DirectAdmin ก่อน ส่งให้ CA ตรวจสอบ แล้วนำไฟล์ Certificate กับ CA Bundle มาวางในเมนู Paste a pre-generated certificate and key ส่วน Let's Encrypt เพียงกดเปิดในเมนูเดียวก็เสร็จ SSL แบบซื้อจึงเหมาะกับเว็บที่ต้องการ OV/EV หรือ Wildcard ที่ Let's Encrypt ไม่รองรับ

ต้องการ SSL Certificate คุณภาพสูง?

DV SSL เริ่มต้น 1,000 บาท/ปี หรือ Let's Encrypt ฟรีสำหรับลูกค้า Hosting ทุกแพ็กเกจ

ดู SSL Certificate