ฟรี SSL สำหรับเว็บไซต์ WordPress ใด ๆ

เผยแพร่แล้ว: 2022-03-10
สรุปโดยย่อ ↬ หากคุณมีเว็บไซต์อีคอมเมิร์ซ SSL เป็นสิ่งจำเป็นสำหรับการประมวลผลบัตรเครดิตอย่างปลอดภัย แต่แม้ว่าคุณจะไม่ได้ดำเนินการชำระเงิน คุณก็ควรพิจารณาใช้ HTTP ที่ปลอดภัย (หรือ HTTPS) อย่างจริงจัง โดยเฉพาะอย่างยิ่งตอนนี้ที่ฉันจะแสดงวิธีตั้งค่าอย่างรวดเร็วฟรี มาเริ่มกันเลย. กล่าวโดยย่อ SSL คือ “S” ใน HTTPS มันเพิ่มชั้นของการเข้ารหัสให้กับ HTTP เพื่อให้แน่ใจว่าผู้รับเป็นคนที่พวกเขาอ้างว่าเป็นจริง ๆ และมีเพียงผู้รับที่ได้รับอนุญาตเท่านั้นที่สามารถถอดรหัสข้อความเพื่อดูเนื้อหาได้

หากคุณมีเว็บไซต์อีคอมเมิร์ซ SSL เป็นสิ่งจำเป็นสำหรับการประมวลผลบัตรเครดิตอย่างปลอดภัย แต่แม้ว่าคุณจะไม่ได้ดำเนินการชำระเงิน คุณก็ควรพิจารณาใช้ HTTP ที่ปลอดภัย (หรือ HTTPS) อย่างจริงจัง โดยเฉพาะอย่างยิ่งตอนนี้ที่ฉันจะแสดงวิธีตั้งค่าอย่างรวดเร็วฟรี มาเริ่มกันเลย.

SSL คืออะไรและทำไมฉันจึงควรใส่ใจ?

กล่าวโดยย่อ SSL คือ “S” ใน HTTPS มันเพิ่มชั้นของการเข้ารหัสให้กับ HTTP เพื่อให้แน่ใจว่าผู้รับเป็นคนที่พวกเขาอ้างว่าเป็นจริง ๆ และมีเพียงผู้รับที่ได้รับอนุญาตเท่านั้นที่สามารถถอดรหัสข้อความเพื่อดูเนื้อหาได้

อ่านเพิ่มเติม เกี่ยวกับ SmashingMag:

  • HTTPS ทุกที่ด้วย Nginx, Varnish และ Apache
  • วิธีการออกใบรับรอง SSL ใหม่ด้วยรหัส SSL เก่า
  • เตรียมพร้อมสำหรับ HTTP/2: คู่มือสำหรับนักออกแบบเว็บไซต์

ข้อมูลที่ละเอียดอ่อน เช่น หมายเลขบัตรเครดิต — โดยพื้นฐานแล้ว อะไรก็ตามที่เป็นส่วนตัว — ควรให้บริการผ่าน HTTPS เสมอ อย่างไรก็ตาม มีแนวโน้มเพิ่มขึ้นในการให้บริการเนื้อหาทั้งหมดผ่าน HTTPS ตามที่เราเห็นในเว็บไซต์ข่าว บล็อก เสิร์ชเอ็นจิ้น และเว็บไซต์ของแบรนด์กระแสหลักส่วนใหญ่ ดังนั้น แม้ว่าเว็บไซต์ของคุณจะไม่ได้ประมวลผลการชำระเงิน แต่ก็มีเหตุผลที่ดีที่ควรพิจารณา HTTPS ซึ่งบางส่วนมีดังต่อไปนี้:

เพิ่มเติมหลังกระโดด! อ่านต่อด้านล่าง↓
  • ความน่าเชื่อถือ แม้แต่ผู้ฟังที่ไม่ใช่ด้านเทคนิคก็เชื่อมโยงแม่กุญแจสีเขียวตัวเล็ก ๆ ในแถบที่อยู่ของเบราว์เซอร์ด้วยความไว้วางใจและความน่าเชื่อถือ
  • การป้องกันรหัสผ่าน บางทีเว็บไซต์ของคุณอาจโฮสต์เฉพาะวิดีโอลูกแมวเท่านั้น แต่ถ้าผู้ใช้ลงชื่อเข้าใช้เว็บไซต์ของคุณผ่าน Wi-Fi ด้วยรหัสผ่านที่พวกเขาใช้สำหรับธนาคารออนไลน์ด้วย แสดงว่าคุณกำลังอำนวยความสะดวกในการละเมิดความปลอดภัยที่ร้ายแรงด้วยการเผยแพร่ข้อมูลประจำตัวเหล่านั้นต่อสาธารณะ
  • พิสูจน์อนาคต เว็บไซต์หลายแห่งยังคงให้บริการผ่าน HTTP แต่มีแนวโน้มที่ปฏิเสธไม่ได้ต่อ HTTPS และสิ่งนี้จะเพิ่มขึ้นเมื่อผู้ใช้ได้รับการศึกษาเกี่ยวกับความปลอดภัยของเว็บมากขึ้นเท่านั้น อยู่ทางด้านขวาของประวัติศาสตร์
  • ซอ . Google ประกาศอย่างเป็นทางการว่า HTTPS ถูกใช้เป็นสัญญาณการจัดอันดับ กล่าวอีกนัยหนึ่ง Google ให้รางวัลแก่เว็บไซต์ HTTPS โดยเพิ่มอันดับในผลการค้นหา

อาร์กิวเมนต์ทั่วไปเกี่ยวกับ HTTPS คือการลดประสิทธิภาพ จริงอยู่ กระบวนการเข้ารหัสและถอดรหัสนั้นมีค่าใช้จ่ายเพิ่มเติมในหน่วยมิลลิวินาที แต่ในสถานการณ์ส่วนใหญ่นั้นแทบไม่มีความสำคัญ เนื่องจากเห็นได้จากข้อเท็จจริงที่ว่าบริษัทที่คำนึงถึงประสิทธิภาพ เช่น Google และ Facebook ให้บริการเนื้อหาทั้งหมดผ่าน HTTPS และแท้จริงแล้ว HTTPS อาจทำให้ปัญหาด้านประสิทธิภาพที่มีอยู่แย่ลงได้ เช่นเดียวกับไฟล์ CSS จำนวนมากที่ส่งเป็นไฟล์เดี่ยว แต่สิ่งนี้สามารถบรรเทาได้โดยการปฏิบัติตามแนวทางปฏิบัติที่ดีที่สุดขั้นพื้นฐานสำหรับประสิทธิภาพ และด้วยการนำ HTTP/2 มาใช้ ทำให้ต้นทุนประสิทธิภาพของ HTTPS ต่ำลงอีก สิ่งสำคัญที่สุดคือประสิทธิภาพที่ลดลงจะเป็นตัวยับยั้งที่มีความหมายก็ต่อเมื่อเว็บไซต์ของคุณได้รับการปรับให้เหมาะสมที่สุดหรือมีประสิทธิภาพต่ำกว่าที่ทุก ๆ มิลลิวินาทีมีความสำคัญ

วิธีตั้งค่า HTTPS ฟรี

ขั้นตอนแรกในการตั้งค่า HTTPS ฟรีคือการสมัครใช้บริการ DNS บนคลาวด์ หากคุณไม่รู้ว่า DNS คืออะไร เราขอแนะนำให้คุณใช้เวลาสักครู่เพื่อเรียนรู้ก่อนดำเนินการต่อ วิธีการทำงานของ DNS ที่น่ายินดีนั้นสามารถแบ่งย่อยออกเป็นการ์ตูนตลกๆ ได้อย่างยอดเยี่ยม มิฉะนั้น ให้รู้ว่า DNS เป็นระบบที่ชื่อโดเมนเช่น example.com (ซึ่งมนุษย์เข้าใจ) เชื่อมโยงกับที่อยู่ IP เช่น 104.28.2.167 (ซึ่งคอมพิวเตอร์เข้าใจ) คุณมีตัวเลือกมากมาย แต่ฉันเป็นแฟนตัวยงของ CloudFlare เพราะตั้งค่าได้รวดเร็วมาก แดชบอร์ดใช้งานง่าย และมีแผนบริการฟรีพร้อมคุณสมบัติอันทรงพลังมากมาย

การตั้งค่า CloudFlare

หลังจากลงทะเบียนบัญชี CloudFlare คุณจะได้รับคำแนะนำเกี่ยวกับวิซาร์ดง่ายๆ ในการกำหนดค่าเว็บไซต์แรกของคุณ ซึ่งจะสรุปด้วยคำแนะนำเกี่ยวกับวิธีการลงชื่อเข้าใช้บริษัทจดทะเบียนโดเมนของคุณและชี้เนมเซิร์ฟเวอร์ไปที่ CloudFlare การเปลี่ยนแปลงจะใช้เวลาสักครู่ในการเผยแพร่ แต่เมื่อเสร็จสิ้น CloudFlare จะโฮสต์ระเบียน DNS ของเว็บไซต์ของคุณ ถัดไป เปิดฟีเจอร์ “SSL ที่ยืดหยุ่น” ของ CloudFlare

แดชบอร์ด CloudFlare
แดชบอร์ด CloudFlare พร้อมการตั้งค่า SSL (ดูเวอร์ชันขนาดใหญ่)

การเลือกการตั้งค่า “SSL แบบยืดหยุ่น” มีความสำคัญ เนื่องจากคุณไม่จำเป็นต้องซื้อและติดตั้งใบรับรอง SSL ของคุณเองบนเซิร์ฟเวอร์ของเว็บไซต์ของคุณ นี่คือไดอะแกรมของสิ่งที่เกิดขึ้น

ไดอะแกรม SSL แบบยืดหยุ่นของ CloudFlare
ไดอะแกรม SSL แบบยืดหยุ่นของ CloudFlare (ดูเวอร์ชันขนาดใหญ่)

อย่างที่คุณเห็น CloudFlare ทำหน้าที่เป็นคนกลางในการรักษาความปลอดภัยการรับส่งข้อมูลระหว่างเว็บไซต์ของคุณและลูกค้า หากนี่เป็นเว็บไซต์ HTML แบบคงที่ คุณจะสามารถเชื่อมต่อผ่าน HTTPS ( https://yourdomain.com ) ได้แล้ว อย่างไรก็ตาม WordPress ต้องการการกำหนดค่าเพิ่มเติมเพื่อทำงานกับโปรโตคอลที่แก้ไข

กำหนดค่า WordPress ใหม่จาก HTTP เป็น HTTPS

ก่อนอื่นคุณต้องอัปเดตการตั้งค่า "WordPress Address" และ "Site Address" ในแดชบอร์ด ภายใต้ "การตั้งค่า" → "ทั่วไป" เมื่อคุณทำเช่นนี้ คุณจะต้องลงชื่อเข้าใช้แดชบอร์ดอีกครั้ง

แดชบอร์ด WordPress
แดชบอร์ด WordPress พร้อมการตั้งค่า URL (ดูเวอร์ชันขนาดใหญ่)

ดำเนินการอย่างระมัดระวัง หากคุณอัปเดตการตั้งค่าเหล่านี้ก่อนกำหนด คุณอาจเสี่ยงที่จะล็อกตัวเองออก ตัวอย่างเช่น หากเว็บไซต์ยังไม่ได้รับการกำหนดค่าอย่างเหมาะสมสำหรับ HTTPS และการตั้งค่าได้รับการอัปเดต คุณอาจทำให้เกิดการวนรอบการเปลี่ยนเส้นทางที่ทำลายเว็บไซต์และป้องกันไม่ให้คุณเข้าถึงแดชบอร์ด

ณ จุดนี้ คุณควรจะสามารถเยี่ยมชมหน้าแรกของเว็บไซต์ผ่าน HTTPS ได้ อย่างไรก็ตาม ลิงก์ของเพจจะยังคงชี้ไปที่ HTTP URL WordPress จัดเก็บลิงก์ไปยังหน้าและรูปภาพเป็น URL ที่แอบอ้าง ซึ่งหมายความว่า URL แบบเต็ม รวมถึงโปรโตคอล จะถูกบันทึกไว้ในฐานข้อมูล เพื่อให้แน่ใจว่าเว็บไซต์ทั้งหมดให้บริการผ่าน HTTPS อย่างสม่ำเสมอ (โดยไม่แสดงคำเตือนเกี่ยวกับเนื้อหาแบบผสม) คุณจะต้องอัปเดตเนื้อหาเดิมของคุณ

กำลังอัปเดตเนื้อหาดั้งเดิม

ในเว็บไซต์ขนาดเล็กที่มีเพียงไม่กี่หน้า ตัวเลือกที่รวดเร็วที่สุดอาจเป็นเพียงการอัปเดต URL ด้วยตนเองโดยแก้ไขหน้าที่มีอยู่ในอินเทอร์เฟซผู้ดูแลระบบ หากเว็บไซต์มีขนาดใหญ่หรือมีบล็อกที่มีความเคลื่อนไหวสูง การแก้ไขด้วยตนเองอาจไม่เป็นประโยชน์ หากโฮสต์ของคุณมี phpMyAdmin หรืออินเทอร์เฟซอื่นๆ เพื่อเรียกใช้การสืบค้น MySQL คุณสามารถทำได้ง่ายๆ ด้วยการสืบค้น MySQL สองสามรายการในแท็บ SQL หรือคุณสามารถทำตามคำแนะนำของ The Customize Windows ได้จากบรรทัดคำสั่ง

มีความเสี่ยงที่จะระบุอย่างชัดเจน ให้ แทนที่ yourdomain.com ในการสืบค้นต่อไปนี้ด้วยโดเมนจริงของคุณ นอกจากนี้ หากคุณได้ปรับแต่งคำนำหน้าตารางของ WordPress ให้แทนที่ wp_ ด้วยคำนำหน้าที่เกี่ยวข้อง

ขั้นแรก อัปเดต URL ของโพสต์และเพจ

 UPDATE wp_posts SET guid = replace(guid, 'https://yourdomain.com','https://yourdomain.com');

[UPDATE: ตามที่กล่าวไว้ในความคิดเห็น ฟิลด์ guid ไม่ควรถูกแก้ไข]

อัปเดตตาราง wp_postmeta ด้วย

 UPDATE wp_postmeta SET meta_value = replace(meta_value,'https://yourdomain.com','https://yourdomain.com');

สุดท้าย อัปเดตเนื้อหาจริงของโพสต์หรือหน้า การดำเนินการนี้จะอัปเดตลิงก์ย้อนกลับเป็น HTTPS

 UPDATE wp_posts SET post_content = REPLACE(post_content, 'https://yourdomain.com', 'https://yourdomain.com');

หลังจากเรียกใช้แบบสอบถามเหล่านี้ คุณจะต้องรีเฟรชลิงก์ถาวรโดยไปที่ "การตั้งค่า" → "ลิงก์ถาวร" เพียงเปลี่ยนการตั้งค่ากลับเป็นค่าเริ่มต้น จากนั้นตั้งค่ากลับเป็นการตั้งค่าใดก็ตามที่คุณใช้ในตอนแรก

ตอนนี้ คุณควรจะสามารถคลิกเมนูและลิงก์ต่างๆ ทั่วทั้งเว็บไซต์ได้ และโปรโตคอลควรยังคงเป็น HTTPS

การแก้ไขปัญหาคำเตือนเนื้อหาผสม

ขึ้นอยู่กับธีมและปลั๊กอินที่ใช้ คุณอาจได้รับคำเตือนในแถบที่อยู่ที่ระบุว่าทรัพยากรบางอย่างไม่ได้รับบริการอย่างปลอดภัย หากข้อผิดพลาดเกี่ยวข้องกับเนื้อหาที่เพิ่มโดยธีมหรือปลั๊กอินที่คุณกำหนดเอง ตรวจสอบให้แน่ใจว่าได้จัดคิวไฟล์ JavaScript และ CSS อย่างเหมาะสม ไม่ใช่ฮาร์ดโค้ด URL ที่ขึ้นต้นด้วย HTTP เบราว์เซอร์ส่วนใหญ่จะให้คุณขยายคำเตือนเพื่อแสดงคำขอเฉพาะที่ทำให้เกิดข้อผิดพลาด คุณยังสามารถลองใช้ปลั๊กอินฟรี เช่น SSL Insecure Content Fixer ซึ่งจะพยายามแก้ไขปลั๊กอินของบุคคลที่สามที่ไม่สามารถทำได้

เมื่อมาถึงจุดนี้ คุณควรเห็นแม่กุญแจสีเขียวในแถบ URL เมื่อเข้าสู่เว็บไซต์ของคุณ หากคุณไม่ได้ใช้ปลั๊กอินอีคอมเมิร์ซ เช่น WooCommerce หรือ WP eCommerce แสดงว่าคุณทำเสร็จแล้ว! หากคุณเป็นเช่นนั้น มีขั้นตอนสุดท้ายที่สำคัญ

รับ SSL ที่ยืดหยุ่นเพื่อทำงานกับปลั๊กอินอีคอมเมิร์ซ

WordPress มีฟังก์ชันหลักที่ชื่อว่า is_SSL() ซึ่งปลั๊กอินใช้กำหนดว่าทราฟฟิกถูกเข้ารหัสด้วย SSL หรือไม่ ด้วยวิธีการข้างต้นเพียงอย่างเดียว ฟังก์ชันนี้จะคืนค่า false เนื่องจากการเข้ารหัสอยู่ระหว่าง CloudFlare และไคลเอ็นต์เท่านั้น การรับส่งข้อมูลที่ PHP โต้ตอบด้วยนั้นไม่มีการเข้ารหัส ดังนั้น super global ที่ฟังก์ชันนั้นตรวจสอบ (เช่น $_SERVER['HTTPS'] ) จะไม่มีประโยชน์ เพื่อจุดประสงค์ของเรา ตัวแปรที่เกี่ยวข้องคือ $_SERVER['HTTP_X_FORWARDED_PROTO'] ซึ่ง WordPress ไม่รู้จักในขณะที่เขียน คำขอเปลี่ยนแปลงนี้มีมาช้านานแล้ว แต่ยังไม่ได้รับการแก้ไข

โชคดี ที่ปลั๊กอินฟรีจะแก้ไขปัญหานี้ให้คุณทันที CloudFlare Flexible SSL เพียงติดตั้งปลั๊กอินและเปิดใช้งาน จำไว้ว่าเทคนิคนี้ ไม่ได้เพิ่มความปลอดภัยอีก ต่อไป การรับส่งข้อมูลระหว่าง CloudFlare และเซิร์ฟเวอร์ของเว็บไซต์ของคุณยังไม่ได้รับการเข้ารหัส ดังนั้นจึงยังเสี่ยงต่อการดมกลิ่น

SSL ที่ยืดหยุ่นไม่เต็ม SSL

ความคิดริเริ่ม “Universal SSL” ของ CloudFlare เป็นความพยายามที่น่าสนใจในการทำให้อินเทอร์เน็ตปลอดภัยยิ่งขึ้น แต่ก็ไม่ได้ไร้ข้อโต้แย้ง ข้อกังวลหลักคือ SSL แบบยืดหยุ่นไม่ได้เข้ารหัสในช่วงครึ่งหลังของการเดินทางของการรับส่งข้อมูล (ไปยังเซิร์ฟเวอร์ของคุณ) แต่เบราว์เซอร์ในปัจจุบันยังคงแสดงแม่กุญแจสีเขียวแบบเดียวกับที่เราได้มาเชื่อมโยงกับ SSL แบบสมบูรณ์ CloudFlare เสนอเหตุผลต่อไปนี้ในบล็อก:

การมีการเข้ารหัสที่ทันสมัยอาจดูไม่สำคัญสำหรับบล็อกขนาดเล็ก แต่สิ่งสำคัญคือต้องพัฒนาอนาคตของอินเทอร์เน็ตที่เข้ารหัสโดยค่าเริ่มต้น ทุกๆ ไบต์แม้จะดูธรรมดา แต่โฟลว์ที่เข้ารหัสผ่านอินเทอร์เน็ตทำให้ยากขึ้นสำหรับผู้ที่ต้องการสกัดกั้น เค้น หรือเซ็นเซอร์เว็บ กล่าวอีกนัยหนึ่ง การตรวจสอบให้แน่ใจว่าบล็อกส่วนตัวของคุณพร้อมใช้งานบน HTTPS ทำให้มีโอกาสมากขึ้นที่องค์กรสิทธิมนุษยชนหรือบริการโซเชียลมีเดีย หรือนักข่าวอิสระจะสามารถเข้าถึงได้ทั่วโลก ร่วมกันเราสามารถทำสิ่งที่ยิ่งใหญ่ได้

จะดีหรือแย่กว่านั้น SSL ที่ยืดหยุ่นก็มาถึงแล้ว และอินเทอร์เน็ตจะต้องปรับตัว ในระหว่างนี้ ภาระของเจ้าของเว็บไซต์คือต้องได้รับการศึกษาและตัดสินใจอย่างรับผิดชอบ

การเปลี่ยนเส้นทางคำขอ HTTP ไปยัง HTTPS

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

 <IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{HTTP:X-Forwarded-Proto} !https RewriteRule (.*) https://yourdomain.com/$1 [R=301,L] </IfModule>

หากมีไฟล์ . .htaccess อยู่แล้ว ระวังอย่าเปลี่ยนแปลงอะไรระหว่างบรรทัด # BEGIN WordPress และ # END WordPress ในไฟล์นั้น บรรทัดเหล่านี้ได้รับการจัดการโดย WordPress และเมื่อใดก็ตามที่ลิงก์ถาวรได้รับการรีเฟรช เนื้อหาในส่วนนั้นจะถูกเขียนทับ

ยินดีด้วย

การอัปเกรดเว็บไซต์ของคุณเป็น HTTPS แสดงว่าคุณได้ปรับปรุงเว็บไซต์ของคุณ ปกป้องผู้ใช้ และมีส่วนร่วมในการพัฒนาอินเทอร์เน็ต และไม่เสียค่าใช้จ่ายอะไรเลย!