วิธีใช้ HTTPS (SSL) ฟรีของ Cloudflare ในเว็บ WordPress/ฯลฯ

วิธีเซตใช้ https ให้กับโดเมนของเว็บเราโดยไม่ต้องเสียเงินซื้อ ssl ตามเว็บขายโฮส ด้วยระบบของ cloudflare และสามารถมีฟังก์ชันการแคชไฟล์ static เช่น js/css ช่วยให้เว็บเร็วขึ้นได้ ลดการโหลดหนักหน่วงของเว็บเซิฟเวอร์ได้บ้าง และบางคนบางเว็บต้องการบังไอพีที่แท้จริง ป้องกันการโดนยิงเว็บ ก็ใช้ตัว cloudflare นี้ป้องกันได้ระดับนึง

วิธีใช้ HTTPS (SSL) ฟรีของ Cloudflare ในเว็บ WordPress
วิธีใช้ HTTPS (SSL) ฟรีของ Cloudflare ในเว็บ WordPress

คอนเซปง่าย ๆ + ทริคบางจุดนิดหน่อย
– ลงปลั๊กอินที่ wordpress เพื่อป้องกัน redirect loop (ถ้าเว็บทั่วไป ก็ตั้งค่า url https หรือเซต force https ที่ cloudflare ก็น่าจะใช้ได้เลย)
จบล่ะ ที่เหลือก็เป็นพวก การเซต cache / force https / hotlink / ฯลฯ
– สมัคร cloudflare + เซตตั้งค่าอีกนิดหน่อย
– ทริคเซตนู่นนี่นั่นเพิ่มเติมอีกนิดหน่อย


#การตั้งค่าที่ WordPress

1. เข้าไปที่หน้า plugin ของ wordpress แล้วลงปลั๊กอิน เพื่อป้องกัน redirect loop ขั้นต้น //เลือกอย่างใดอย่างหนึ่ง
– (ส่วนตัวผมใช้อันนี้) Flexible SSL for CloudFlare เรียบ ๆ ง่าย ๆ ที่เหลือค่อยไปเซตที่ cloudflare //ผมแค่ไม่อยากให้มันงานทำซ้ำซ้อนกัน
– (หรือบางคนก็ถนัดอันนี้) Really Simple SSL เห็นมีฟังก์ชันให้เลือกข้างในเพิ่มอีกพวกบังคับ https/mixed content ไรงี้ก็ใช้อันนี้ก็ได้
– ฯลฯ แล้วแต่ถนัด หรือต้องการฟังก์เสริมบางอย่างที่ปลั๊กบวม ๆ เหล่านั้นมีให้ใช้
2. ลงปลั๊กเสริมอันนี้ CloudFlare Cache Purger for WordPress ทิ้งไว้เผื่อได้ใช้ ถ้าขี้เกจเข้าไปล๊อคอินลบแคชบนเว็บ cloudflare บ่อยๆ หรือไม่ได้ใช้ปลั๊กอื่นที่มีฟังก์นี้ หรือทำแบบนี้ https://www.taxze.com/purge-cache-cloudflare-without-plugin-wordpress/
3. หน้า Settings -> General Settings ไม่ต้องเปลี่ยน url ของเว็บเป็น https (ใช้ http อย่างเดิมก็พอ ค่อยไปบังคับผ่าน cloudflare/plugin เอา (หรือจะเซต https เลยก็ได้ถ้าไม่มีปัญหา)) เพื่อป้องกัน redirect loop ขั้นสูง เช่น บราวเซอร์ขึ้น ERR_TOO_MANY_REDIRECTS / The Page isn’t redirecting properly – https://community.cloudflare.com/t/-/42335


#การตั้งค่าที่ cloudflare

1. สมัครที่ cloudflare.com เลือกแพคเกจ Free ใส่โดเมนที่ต้องการใช้เข้าไป แล้วก็ทำตามขั้นตอนไปเรื่อย ๆ
2. ตัว cloudflare จะให้ ns มาก็เอาไปเปลี่ยนที่ตัวจัดการโดเมนของเราให้ชี้ ns ของ cloudflare แล้วก็ทำตามขั้นตอนไปเรื่อย ๆ
3. เมื่อยืนยัน ns เสร็จ หรือแอบเข้ามาที่ตัว dashboard ของ cloudflare ก็เข้าไปที่เมนู DNS
– แล้วก็เชค ๆ ดูว่าอันไหนที่ไม่ใช้ก็ลบทิ้งไปก็ได้
– อันไหนที่อยากให้บังไอพีเซิฟเวอร์ก็กดให้เป็น Proxied สีส้ม ๆ
– อันไหนที่อยากให้ใช้เข้าถึงไอพีจริง ไม่อยากวิ่งผ่านแคชของ cloudflare ก็กดรูปเมฆให้เป็น DNS only สีเทา ๆ
– (ขั้นสูง) หรือผูกกับพวก web app / g-suit / mx record ก็ใส่ให้ครบเรียบร้อย เพราะเราคุม dns management ที่นี่แล้วจาก ns ที่ชี้มา //ไม่ได้ใช้ผ่านตัวจัดการโดเมนหรือบนโฮส
4. เข้าไปที่ไอคอนเมนู SSL/TLS -> Overview เลือก Flexible (*สำคัญ* เพราะเราใช้ ssl ฟรีของ cloudflare / ไม่ได้เจน ssl บนเซิฟเวอร์)
– 4.1 เข้าไปที่ไอคอนเมนู SSL/TLS -> Edge Certificates -> Always Use HTTPS = ON //เพื่อบังคับให้คนเข้าใช้งานเว็บแบบ https ตลอดเวลา
– 4.2 เข้าไปที่ไอคอนเมนู SSL/TLS -> Edge Certificates -> Automatic HTTPS Rewrites = ON //เลือกไว้ก็ดี เพื่อให้ทำงาน https ได้สมบูรณ์ ป้องกัน mixed content (สมัยก่อนมันแก้การขึ้นไอคอนกุญแจเหลือง)

จบล่ะ สำหรับวิธีการเซต https (ssl) ให้กับโดเมนของเว็บ wordpress ผ่าน cloudflare ง่ายๆ แค่นี้ล่ะ ส่วนที่เหลือก็เป็นการเซตลูกเล่นเพิ่มเติม จะทำหรือไม่ทำก็ได้ อันไหนทำแล้วสปีดเพจตกก็เว้น ๆ ไป

5. ที่ไอคอนเมนู Speed -> Optimization -> Auto Minify เลือกอันที่ใช้ //หรือไม่ใช้ก็ได้ เพราะใช้ผ่านปลั๊กอิน wordpress อันอื่นอยู่แล้ว
– ที่ไอคอนเมนู Speed -> Optimization -> Rocket Loader™ = On เพื่อให้ js โหลดทีหลังสุดๆ //หรือ Off ก็ได้ ถ้าหน้าเว็บพัง-โหลดช้ากว่าเดิม
– ฯลฯ ที่เหลือก็ลอง ๆ เล่นดู
6. ที่ไอคอนเมนู Caching -> Configuration -> Purge Cache -> Purge Everything *สำคัญ เวลาแก้ รูป/js/css/static file อื่น ๆ แล้วเว็บยังใช้แคชเก่าอยู่ก็มากดปุ่มนี้ได้ //หรือใช้ปลั๊กอิน wordpress ข้อ 2. ด้านบนจัดการก็ได้
– ที่ไอคอนเมนู Caching -> Configuration -> Browser Cache TTL อยากให้แคชบราวเซอร์เท่าไรก็เลือกเอาเลย
– ที่ไอคอนเมนู Caching -> Configuration -> Always Online™ จะใช้หรือไม่ใช้ก็ได้ แล้วแต่ชอบ
– ที่ไอคอนเมนู Caching -> Configuration -> Development Mode เอาไว้ใช้ตอนแก้หน้าเว็บเยอะๆ ไม่ต้องมากด purge cache บ่อยๆ
– ฯลฯ ที่เหลือก็ลอง ๆ เล่นดู
7. ที่ไอคอนเมนู Page Rules
– เซตตรงนี้เพิ่มเติมเพื่อให้ไม่หน้า wp-admin โดนแคชไปด้วย เช่น www.taxze.com/wp-admin/* แล้วเลือก Cache Level: Bypass
– ถ้าบางเว็บ ไม่ต้องการให้ทำงาน https ทั้งโดเมน ก็มาเซตตรงนี้เพิ่มเติมได้ เช่น http://www.taxze.com/* ก็จะใช้งาน https แต่ http://taxze.com/abc ใช้งานแบบ http ได้อยู่ เพื่อไม่ให้ไส้ในมันโดน cloudflare แคช ไรงี้
– ถ้าแคชของปลั๊กอิน wordpress เอาไม่อยู่ ก็มาเซตแคชโหดๆ ตรงจุดนี้ได้ เช่น www.taxze.com/* แล้วเลือก Cache Level: Cache Everything, Edge Cache TTL: a month, Bypass Cache on Cookie: wp-.*|wordpress.*|comment_.* ไรงี้

8. ที่ไอคอนเมนู Scrape Shield ถ้าเป็นไปได้ก็เปิดให้หมดนั่นล่ะ Email Address Obfuscation / Server-side Excludes / Hotlink Protection ช่วยป้องกันเว็บได้ระดับหนึ่ง

9. เสริมพิเศษ ใช้กับปลั๊กในข้อ 2. ของหัวข้อปลั๊ก wordpress เพื่อที่เวลาแก้ไขโพสบน wordpress แล้วให้มัน purge cache ออโต้ ไม่ต้องมากดที่หน้าเว็บ
– เข้าไปที่หน้านี้ https://dash.cloudflare.com/profile/api-tokens กดตรง global api key เพื่อไปเซตกับปลั๊ก CloudFlare Cache Purger for WordPress แล้วเซตต่อได้เลย
– ทริคเสริม เวลาแก้แค่ รูป/css/js ไม่ได้แก้ไขโพส แล้วอยากให้มัน purge cache ได้ ก็กดที่หน้า โพส แล้วกด quick edit แล้วกด update ได้เลย เสมือนอัพเดทโพสเพื่อกระตุ้นให้ปลั๊ก purge มันทำงานได้เหมือนกัน

จบล่ะ ประมานนี้ล่ะ วิธีใช้ cloudflare มาทำ https โดยไม่ต้องซื้อ ssl ให้เสียตัง และวิธีใช้งานง่ายๆ คร่าวๆ ถ้าอยากใช้งานขั้นสูงก็ลองกดๆเล่นเพิ่มเติมได้เลย


Blog | ,
Line it!