SSL & Security

HSTS Preload คืออะไร
เพิ่มความปลอดภัย HTTPS ระดับสูงสุดได้อย่างไร

📅 22 กันยายน 2026 ⏱️ อ่าน 10 นาที 🔒 SSL & HTTPS Security
HSTS Preload เพิ่มความปลอดภัย HTTPS สูงสุด

หากคุณมี SSL certificate ติดตั้งแล้วและ redirect HTTP ไป HTTPS อยู่แล้ว นั่นคือจุดเริ่มต้นที่ดี แต่ยังมีช่องโหว่อยู่หนึ่งจุด — การเข้าเว็บครั้งแรกผ่าน HTTP ก่อน redirect ซึ่งแฮกเกอร์สามารถแทรกแซงได้ด้วยการโจมตีแบบ SSL Strip หรือ Man-in-the-Middle

HSTS Preload คือคำตอบสำหรับปัญหานี้ — บทความนี้จะอธิบายว่ามันคืออะไร ทำงานอย่างไร และจะเพิ่มเว็บของคุณเข้าสู่ list ที่ browser ทั่วโลกใช้ได้อย่างไร

HSTS คืออะไร — พื้นฐานที่ต้องรู้

HSTS (HTTP Strict Transport Security) คือ policy ของ web server ที่บอกให้ browser รู้ว่า "เว็บนี้ต้องใช้ HTTPS เท่านั้น" โดยส่งผ่าน HTTP response header ชื่อ Strict-Transport-Security

เมื่อ browser ได้รับ header นี้แล้ว จะจำไว้ตามช่วงเวลาที่กำหนด (max-age) ว่าโดเมนนี้ต้องใช้ HTTPS ก่อนส่ง request ใดๆ browser จะแปลง http:// ให้เป็น https:// โดยอัตโนมัติโดยไม่ต้องผ่าน server

💡 ตัวอย่าง HSTS Header Strict-Transport-Security: max-age=31536000; includeSubDomains
max-age=31536000 = จำไว้นาน 1 ปี (365 วัน)

HSTS ป้องกันอะไรได้บ้าง

HSTS Preload คืออะไร แตกต่างจาก HSTS อย่างไร

แม้ HSTS จะดีมาก แต่ยังมีจุดอ่อนหนึ่งที่เรียกว่า Trust On First Use (TOFU) — browser ต้องเข้าเว็บผ่าน HTTPS ครั้งแรกก่อนจึงจะจำได้ว่าต้องใช้ HTTPS

หากการเข้าครั้งแรกเกิดขึ้นบน HTTP (เช่น พิมพ์ domain เปล่าๆ หรือคลิกลิงก์ http://) ก็ยังเสี่ยงต่อการถูกโจมตีอยู่

HSTS Preload แก้ปัญหานี้โดยฝัง list ของโดเมนที่ "บังคับ HTTPS" ลงไปใน browser โดยตรง — ไม่ต้องรอเข้าเว็บครั้งแรก browser รู้ล่วงหน้าว่าโดเมนเหล่านี้ใช้ HTTPS เท่านั้น

คุณสมบัติHSTS ทั่วไปHSTS Preload
ต้องเข้าเว็บครั้งแรกก่อน✅ ต้องเข้าก่อน❌ ไม่ต้อง
ป้องกันครั้งแรก (First Visit)❌ ไม่ป้องกัน✅ ป้องกัน
ฝังใน browser✅ ฝัง built-in
Browser รองรับChrome, Firefox, Safari, EdgeChrome, Firefox, Safari, Edge, Opera
ถอนออกได้ง่าย✅ ง่าย (ลบ header)❌ ยาก (ใช้เวลานาน)
ครอบคลุม subdomainOptional (includeSubDomains)บังคับ (includeSubDomains)

HSTS Preload ทำงานอย่างไร

Chrome ดูแล HSTS Preload List ที่เป็น open-source ซึ่ง browser หลักๆ ทุกตัวดึงไปใช้งาน list นี้ฝังอยู่ใน source code ของ browser เป็นไฟล์ชื่อ transport_security_state_static.json

  1. เจ้าของเว็บ submit โดเมนที่ hstspreload.org
  2. ทีม Chrome ตรวจสอบเงื่อนไข (SSL + header + subdomain)
  3. โดเมนถูกเพิ่มเข้า list และ merge เข้า Chromium source
  4. เมื่อ Chrome release ใหม่ออก list ใหม่ถูก distribute ให้ผู้ใช้ทั่วโลก
  5. Firefox, Safari, Edge ดึง list เดียวกันไปใช้
⚠️ ข้อควรระวัง เมื่อโดเมนอยู่ใน Preload List แล้ว browser จะ block การเชื่อมต่อ HTTP ทุกกรณี — แม้แต่ localhost หรือ internal network ถ้า SSL ใน server หมดอายุหรือเสียหาย ผู้ใช้จะเข้าไม่ได้เลยจนกว่าจะแก้ SSL

เงื่อนไขก่อน Submit เข้า Preload List

hstspreload.org กำหนดเงื่อนไข 5 ข้อที่ต้องผ่านทั้งหมดก่อน submit:

  1. มี SSL certificate ที่ถูกต้อง — ต้องไม่หมดอายุ ต้องได้รับจาก CA ที่เชื่อถือได้
  2. Redirect HTTP → HTTPS — port 80 ต้องส่ง redirect ไป HTTPS ทุกกรณี
  3. HTTPS ต้อง serve บน port 443 โดยตรง
  4. HSTS Header บน HTTPS ต้องมี:
    • max-age ≥ 31,536,000 (1 ปี)
    • includeSubDomains
    • preload
  5. Subdomain ทุกตัวต้องรองรับ HTTPS — เช่น www, mail, ftp ต้องมี SSL ด้วย
✅ ตัวอย่าง Header ที่ผ่านเงื่อนไข Strict-Transport-Security: max-age=31536000; includeSubDomains; preload

วิธี Submit เว็บเข้า HSTS Preload List ทีละขั้นตอน

ขั้นตอนที่ 1 — ติดตั้ง SSL Certificate

ต้องมี SSL certificate ที่ valid บน domain หลักและทุก subdomain ใช้ Let's Encrypt (ฟรี) หรือ SSL Certificate จาก CA ที่น่าเชื่อถือ

ขั้นตอนที่ 2 — ตั้งค่า Redirect HTTP → HTTPS

บน Hosting ที่ใช้ DirectAdmin เปิด .htaccess แล้วเพิ่ม:

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

ขั้นตอนที่ 3 — เพิ่ม HSTS Header

# ใน .htaccess หลัง redirect block
Header always set Strict-Transport-Security \
  "max-age=31536000; includeSubDomains; preload"

ขั้นตอนที่ 4 — ทดสอบด้วย hstspreload.org

เปิด hstspreload.org ใส่โดเมน กด Check Eligibility — ต้องผ่านทุกเงื่อนไขก่อน submit

ขั้นตอนที่ 5 — Submit โดเมน

กดปุ่ม "Submit" บน hstspreload.org และกรอกอีเมลเพื่อรับการแจ้งเตือน

ขั้นตอนที่ 6 — รอการ Review

ทีม Chrome จะตรวจสอบและ merge เข้า list — ใช้เวลาประมาณ 4-8 สัปดาห์ก่อนที่ผู้ใช้ส่วนใหญ่จะได้รับ update

ตั้งค่า HSTS Header ใน .htaccess อย่างสมบูรณ์

ตัวอย่างการตั้งค่าที่สมบูรณ์สำหรับ Apache (ซึ่ง DirectAdmin ใช้):

# บังคับ HTTPS
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

# HSTS Header (เพิ่ม preload เมื่อพร้อม submit)
<IfModule mod_headers.c>
  Header always set Strict-Transport-Security \
    "max-age=31536000; includeSubDomains; preload"
</IfModule>
💡 แนะนำ — ทำแบบ Gradual เริ่มจาก max-age=300 (5 นาที) ก่อน เพื่อทดสอบว่า subdomain ทุกตัวรองรับ HTTPS แล้ว จากนั้นค่อยเพิ่มเป็น 86400 (1 วัน) → 2592000 (1 เดือน) → 31536000 (1 ปี) ก่อน submit

เปรียบเทียบระดับความปลอดภัย HTTPS

ระดับการตั้งค่าป้องกัน First Visitความยาก
ระดับ 1SSL Certificate อย่างเดียวง่าย
ระดับ 2SSL + Redirect HTTP→HTTPSง่าย
ระดับ 3SSL + Redirect + HSTS❌ (ยกเว้นครั้งที่ 2+)ปานกลาง
ระดับ 4 ⭐SSL + Redirect + HSTS Preloadสูง

ข้อดีและข้อควรระวังของ HSTS Preload

ข้อดี

ข้อควรระวัง

วิธีถอนเว็บออกจาก HSTS Preload List

หากต้องการถอนโดเมนออก ทำได้ที่ hstspreload.org/removal โดย:

  1. ลบ preload directive ออกจาก HSTS header บน server
  2. Submit request ที่ hstspreload.org/removal
  3. รอให้ Chrome ออก release ใหม่ที่ไม่มีโดเมนใน list
⚠️ สำคัญมาก แม้จะ submit removal แล้ว browser รุ่นเก่าที่ยังไม่ได้ update จะยังบังคับ HTTPS อยู่ กระบวนการนี้อาจใช้เวลา 6 เดือน – 1 ปีกว่าจะมีผลทั่วถึง

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

HSTS Preload คืออะไร

HSTS Preload คือ list ที่ browser ดังๆ อย่าง Chrome, Firefox, Edge ฝังไว้ภายใน เพื่อบังคับให้ทุกการเชื่อมต่อกับโดเมนที่อยู่ใน list ใช้ HTTPS เท่านั้น โดยไม่ต้องรอ redirect จาก HTTP ก่อน

HSTS กับ HSTS Preload ต่างกันอย่างไร

HSTS ทั่วไปใช้ header ที่ส่งจาก server — browser จะจำหลังจากเข้าเว็บครั้งแรกผ่าน HTTPS แล้ว แต่ HSTS Preload บังคับตั้งแต่การเข้าเว็บครั้งแรกเลย เพราะโดเมนถูกฝังอยู่ใน browser ตั้งแต่ install

การเพิ่มเว็บเข้า HSTS Preload List ใช้เวลานานแค่ไหน

โดยทั่วไปใช้เวลาประมาณ 1-3 เดือนกว่าโดเมนจะถูกรวมเข้าใน Chrome release ที่คนส่วนใหญ่ใช้ หลังจาก submit ที่ hstspreload.org แล้ว

ถ้าต้องการถอนเว็บออกจาก HSTS Preload List ทำได้ไหม

ทำได้ แต่ใช้เวลานานมาก — อาจถึง 1 ปีหรือมากกว่า กว่า browser รุ่นใหม่ที่ไม่มีโดเมนจะถูกใช้งานทั่วถึง จึงควรแน่ใจก่อน submit ว่าสามารถรักษา HTTPS ได้ตลอด

HSTS Preload จำเป็นสำหรับทุกเว็บไซต์ไหม

ไม่จำเป็นสำหรับทุกเว็บ HSTS Preload เหมาะกับเว็บที่มีความสำคัญสูง เช่น ธนาคาร ระบบ login หรือเว็บที่ต้องการความปลอดภัยสูงสุด เว็บทั่วไปที่มี SSL certificate และ redirect HTTP→HTTPS แล้วก็ปลอดภัยเพียงพอ

HSTS Preload รองรับ subdomain ด้วยไหม

รองรับ — เงื่อนไขของ HSTS Preload List กำหนดว่าต้องใส่ includeSubDomains ในค่า max-age จึงจะ submit ได้ ทำให้ทุก subdomain ถูกบังคับใช้ HTTPS ไปด้วยโดยอัตโนมัติ

🔒 สรุป — HSTS Preload

  • HSTS Preload = โดเมนของคุณถูกฝังใน browser ว่าต้องใช้ HTTPS เสมอ
  • ป้องกันได้ตั้งแต่การเข้าเว็บครั้งแรก — ไม่มีช่องโหว่ TOFU
  • ต้องผ่านเงื่อนไข: SSL valid + redirect + HSTS header มี max-age ≥ 1 ปี + includeSubDomains + preload
  • Submit ฟรีที่ hstspreload.org — แต่ถอนออกยากมาก คิดก่อน
  • เหมาะกับเว็บที่ต้องการความปลอดภัยสูง ไม่ใช่สำหรับทุกเว็บ

ต้องการ SSL Certificate สำหรับเว็บของคุณ?

AsiaGB มี SSL หลากหลายประเภท ตั้งแต่ DV ราคาประหยัดไปถึง Wildcard และ EV สำหรับองค์กร พร้อมช่วยติดตั้งบน DirectAdmin ฟรี

ดู SSL ทั้งหมด →