HTTPS คืออะไร
HTTPS คือการเชื่อมต่อระหว่างเบราว์เซอร์ของผู้เข้าชมกับเว็บไซต์ที่ถูกเข้ารหัสด้วยใบรับรอง TLS ข้อมูลที่ส่งไปมา เช่น ชื่อ เบอร์โทร หรือข้อความในฟอร์ม จะอ่านไม่ออกหากมีคนดักระหว่างทาง ส่วน HTTP แบบเดิมส่งข้อมูลเป็นข้อความธรรมดาที่ใครอยู่ในเครือข่ายเดียวกัน เช่น Wi-Fi สาธารณะในร้านกาแฟ ก็อาจเห็นได้
ข่าวดีคือการเปิด HTTPS ในปัจจุบันไม่ยากและมักไม่มีค่าใช้จ่าย โฮสติ้งส่วนใหญ่ให้ออกใบรับรองฟรีได้จากหน้าควบคุม งานที่ต้องใส่ใจจริง ๆ คือขั้นตอนหลังจากนั้น การเปลี่ยนเส้นทาง การแก้ URL ใน WordPress และการตรวจว่าไม่มีไฟล์ใดยังโหลดผ่าน HTTP
ถ้ายังไม่คุ้นกับส่วนประกอบของเว็บ เช่น โดเมน โฮสติ้ง และเบราว์เซอร์ อ่านบทความเว็บไซต์คืออะไร และแต่ละส่วนทำงานร่วมกันอย่างไรก่อนจะช่วยให้ตามขั้นตอนด้านล่างได้ง่ายขึ้น
SSL TLS และใบรับรองดิจิทัล
SSL เป็นชื่อของโปรโตคอลเข้ารหัสรุ่นแรก ซึ่งเลิกใช้ไปนานแล้ว ปัจจุบันเว็บใช้ TLS แทน แต่คนในวงการและผู้ให้บริการโฮสติ้งยังเรียกติดปากว่าใบรับรอง SSL ทั้งสองคำจึงหมายถึงสิ่งเดียวกันในบริบทนี้
ใบรับรองดิจิทัลเป็นไฟล์ที่ผู้ออกใบรับรองยืนยันว่าโดเมนนี้เป็นของผู้ที่ขอจริง เบราว์เซอร์ตรวจใบรับรองทุกครั้งที่เปิดเว็บ ถ้าถูกต้องจึงเริ่มเข้ารหัส
ใบรับรองสามระดับ
ใบรับรองแบบ DV ตรวจแค่ว่าคุณควบคุมโดเมนได้ ออกได้ในไม่กี่นาทีและมีแบบฟรี เช่น Let's Encrypt แบบ OV ตรวจเพิ่มว่าองค์กรมีอยู่จริง ส่วนแบบ EV ตรวจเอกสารละเอียดที่สุด ทั้งสามแบบเข้ารหัสได้แข็งแรงเท่ากัน ความต่างอยู่ที่ระดับการตรวจตัวตน สำหรับเว็บบริษัท ร้านอาหาร คลินิก หรือร้านค้าออนไลน์ทั่วไป ใบรับรอง DV ก็เพียงพอ เพราะเบราว์เซอร์ปัจจุบันแสดงผลแทบไม่ต่างกัน
ทำไมทุกเว็บไซต์ควรเปิด HTTPS
- เบราว์เซอร์ติดป้ายไม่ปลอดภัย ตั้งแต่ Chrome 68 ในปี 2018 เว็บที่ยังใช้ HTTP จะมีคำว่าไม่ปลอดภัยที่แถบที่อยู่ ลูกค้าที่เห็นป้ายนี้บนหน้าฟอร์มมักลังเลที่จะกรอก
- ปกป้องข้อมูลในฟอร์ม ชื่อ อีเมล เบอร์โทร และรหัสผ่านสำหรับเข้าระบบหลังบ้าน ถูกเข้ารหัสระหว่างทาง
- หน้าที่ตาม PDPA พระราชบัญญัติคุ้มครองข้อมูลส่วนบุคคล พ.ศ. 2562 กำหนดให้ผู้ควบคุมข้อมูลจัดให้มีมาตรการรักษาความปลอดภัยที่เหมาะสม การส่งข้อมูลลูกค้าผ่านการเชื่อมต่อที่ไม่เข้ารหัสยากจะอธิบายว่าเหมาะสม HTTPS เป็นส่วนหนึ่งของงานนี้ ควบคู่กับการขอความยินยอมและประกาศความเป็นส่วนตัวที่อธิบายไว้ในบทความPDPA Consent และ Privacy Notice บนเว็บไซต์
- สัญญาณการจัดอันดับเล็กน้อย Google ประกาศตั้งแต่ปี 2014 ว่าใช้ HTTPS เป็นสัญญาณการจัดอันดับแบบเบา ไม่ได้ทำให้อันดับพุ่ง แต่ไม่ควรเสียไป
- ฟีเจอร์ใหม่ของเบราว์เซอร์ หลายอย่าง รวมถึง HTTP/2 ทำงานผ่านการเชื่อมต่อที่เข้ารหัสเท่านั้น
วิธีเปิด HTTPS ทีละขั้น
- ตรวจ DNS ก่อน โดเมนต้องชี้มาที่เซิร์ฟเวอร์ที่เว็บอยู่จริง ทั้งแบบมี www และไม่มี www มิฉะนั้นระบบจะออกใบรับรองไม่ผ่าน ถ้าไม่แน่ใจว่าตั้งค่าโดเมนไว้อย่างไร ดูบทความจดโดเมนและตั้งค่า DNS
- ออกใบรับรอง เข้าหน้าควบคุมโฮสติ้ง มองหาเมนูชื่อ SSL, AutoSSL หรือ Let's Encrypt แล้วเลือกโดเมนที่ต้องการ ถ้าโฮสติ้งของคุณไม่มีตัวเลือกใบรับรองฟรีเลย อาจถึงเวลาทบทวนผู้ให้บริการ ข้อควรพิจารณาอยู่ในบทความweb hosting คืออะไร และเลือกอย่างไร
- ทดสอบเปิดด้วย https:// พิมพ์ที่อยู่เว็บที่ขึ้นต้นด้วย https:// แล้วดูว่ามีไอคอนแม่กุญแจหรือไม่ และไม่มีคำเตือนใบรับรอง
- ตั้ง redirect แบบ 301 ให้ทุก URL แบบ http เปลี่ยนไปยัง https หน้าเดียวกัน ไม่ใช่ส่งทุกอย่างไปหน้าแรก บางโฮสติ้งมีสวิตช์บังคับ HTTPS ให้ หรือตั้งในไฟล์ .htaccess สำหรับเซิร์ฟเวอร์ Apache
- เลือกรูปแบบเดียว ตัดสินใจว่าจะใช้แบบมี www หรือไม่มี แล้วให้อีกแบบ redirect มาที่รูปแบบหลัก
Google แนะนำให้มองการย้ายจาก HTTP ไป HTTPS เป็นการย้ายเว็บแบบเปลี่ยน URL ซึ่งหัวใจคือ redirect แบบ 301 ที่จับคู่ทีละหน้า การทำครบตามขั้นนี้คือสิ่งที่ช่วยรักษาอันดับระหว่างย้าย
ตั้งค่า WordPress หลังติดตั้ง SSL
สำรองไฟล์และฐานข้อมูลก่อนเริ่ม จากนั้นทำตามลำดับนี้
- เปลี่ยนที่อยู่เว็บ ไปที่ การตั้งค่า แล้วเลือก ทั่วไป เปลี่ยนช่อง WordPress Address และ Site Address ให้ขึ้นต้นด้วย https:// แล้วบันทึก ระบบจะให้เข้าสู่ระบบใหม่
- ค้นหาและแทนที่ URL เก่า ลิงก์และรูปในบทความเก่ายังเก็บเป็น http ในฐานข้อมูล ใช้เครื่องมือค้นหาและแทนที่ที่รองรับข้อมูลแบบ serialized ของ WordPress หรือคำสั่ง WP-CLI แทนการแก้ฐานข้อมูลด้วยมือ
- ตรวจธีมและปลั๊กอิน บางธีมฝังที่อยู่ไฟล์ไว้ในการตั้งค่าหรือในโค้ด ต้องแก้ตรงนั้นด้วย
- ล้างแคช ทั้งปลั๊กอินแคช แคชของโฮสติ้ง และ CDN ถ้ามี
- อัปเดต Search Console เพิ่ม property แบบ Domain ซึ่งครอบคลุมทั้ง http และ https หรือเพิ่ม property ของ https แยก แล้วส่ง sitemap ใหม่ที่ใช้ URL แบบ https
- แก้ลิงก์ภายนอกที่คุณควบคุมได้ เช่น ลิงก์ใน Google Business Profile โปรไฟล์โซเชียล และลายเซ็นอีเมล
แก้ mixed content และใบรับรองหมดอายุ
Mixed content คืออะไร
Mixed content คือหน้าที่เปิดผ่าน HTTPS แต่ยังดึงรูป สคริปต์ หรือไฟล์ CSS บางตัวผ่าน HTTP เบราว์เซอร์จะบล็อกสคริปต์และไฟล์ที่อันตราย ส่วนรูปอาจถูกอัปเกรดเป็น HTTPS อัตโนมัติหรือถูกบล็อก ผลคือหน้าเว็บเพี้ยน ฟอร์มไม่ทำงาน หรือแม่กุญแจหายไป วิธีหาคือเปิดหน้าใน Chrome กด F12 แล้วดูแท็บ Console ซึ่งจะบอกชื่อไฟล์ที่มีปัญหา แล้วตามแก้ที่ต้นทาง เช่น ในบทความ วิดเจ็ต หรือโค้ดฝังจากบริการภายนอก
HSTS ใช้เมื่อทุกอย่างเรียบร้อยแล้ว
HSTS คือคำสั่งที่บอกเบราว์เซอร์ให้ใช้ HTTPS กับเว็บนี้เสมอ แม้ผู้ใช้จะพิมพ์ http ช่วยเพิ่มความปลอดภัย แต่ถ้าเปิดก่อนพร้อม แล้วใบรับรองมีปัญหาหรือโดเมนย่อยบางตัวยังไม่มี HTTPS ผู้เข้าชมที่เบราว์เซอร์จำคำสั่งไว้จะเข้าเว็บไม่ได้เลยจนกว่าจะหมดเวลาที่ตั้งไว้ จึงควรเริ่มจากค่าเวลาสั้น แล้วค่อยขยาย
ใบรับรองหมดอายุ
ใบรับรองทุกใบมีวันหมดอายุ เมื่อหมดแล้ว เบราว์เซอร์จะแสดงหน้าคำเตือนเต็มจอว่าการเชื่อมต่อไม่เป็นส่วนตัว ลูกค้าเกือบทุกคนจะออกจากเว็บทันที ใบรับรองของ Let's Encrypt มีอายุสั้นและออกแบบให้ต่ออายุอัตโนมัติ ให้ตรวจว่าระบบต่ออายุในโฮสติ้งเปิดอยู่ และมีอีเมลแจ้งเตือนที่มีคนอ่านจริง
HTTPS ที่ตั้งถูกต้องยังช่วยให้เบราว์เซอร์ใช้ HTTP/2 ได้ ซึ่งเกี่ยวกับความเร็วโดยตรง ดูต่อได้ที่บทความเว็บไซต์โหลดช้า แก้อย่างไร หากไม่อยากคอยเฝ้าเรื่องใบรับรอง การอัปเดต และการสำรองข้อมูลเอง บริการดูแลเว็บไซต์หลังเปิดใช้งานของเรารับงานส่วนนี้ โดยประเมินราคาตามแต่ละเว็บ
บทความเรื่องความปลอดภัยของเว็บไซต์
อ่านเรื่องโฮสติ้ง โดเมน และการดูแลเว็บเพิ่มได้จากบทความทั้งหมดของเรา ถ้าเว็บของคุณยังขึ้นป้ายไม่ปลอดภัยและอยากให้ช่วยดู ติดต่อเราพร้อมแนบลิงก์เว็บไซต์
แหล่งอ้างอิง
- Let's Encrypt
- Chromium Blog: A secure web is here to stay (Chrome 68 ติดป้ายไม่ปลอดภัยให้เว็บ HTTP)
- Google Search Central Blog: HTTPS เป็นสัญญาณการจัดอันดับ
- MDN Web Docs: Mixed content
- Google Search Central: การย้ายเว็บไซต์ที่มีการเปลี่ยน URL
- พระราชบัญญัติคุ้มครองข้อมูลส่วนบุคคล พ.ศ. 2562 ราชกิจจานุเบกษา

