ข้อควรระวังเมื่อเผยแพร่ WordPress บน CloudFront

เมื่อเผยแพร่ WordPress ใน EC2 ผ่าน CloudFront ไปแล้ว CloudFront จะทำการเปลี่ยนแปลง URL ให้เป็น HTTPS โดยอัตโนมัติ ซึ่งผมจะมาอธิบายเกี่ยวกับการตั้งค่า WordPress ในบทความนี้

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

ในบทความนี้ ผมจะแนะนำเกี่ยวกับข้อควรระวังเมื่อเผยแพร่ WordPress บน CloudFront

เราสามารถเผยแพร่ WordPress ด้วย SSL โดยใช้ CloudFront โดยตั้งค่าตามบทความนี้ได้เลย
อย่างไรก็ตาม การตั้งค่าเพียงอย่างเดียวจะไม่สามารถทำให้ใช้งานได้

สิ่งที่ต้องมี

ให้ทำการตั้งค่า EC2, CloudFront, Certificate Manager, Route 53 เรียงตามบทความด้านล่างนี้ทั้งหมด

สมมุติว่า Website นี้ กำลังเผยแพร่ด้วย URL`https://www.cmth.work`

อธิบายแผนภาพประกอบ

Diagram-WordPress-CloudFront

การตั้งค่า URL ของ Website ใน WordPress

มาที่โปรแกรม PuTTy แล้วเรียกใช้คำสั่งนี้ เพื่อเข้ามาในโฟลเดอร์ html

cd /var/www/html/

Host-WP-CF-1

เรียกใช้คำสั่งนี้เพื่อแก้ไขไฟล์ wp-config.php

vi wp-config.php

Host-WP-CF-2

หลังจากเข้ามาในไฟล์ wp-config.php แล้ว ให้แก้ไขตามนี้
» กดปุ่มiให้ขึ้น-- INSERT --ตามลูกศร
» เลื่อนลงมาด้านล่างสุดแล้วหาคำว่าdefine( 'FS_METHOD', 'direct' );ตามช่องสีเขียว
» วาง Code ด้านล่างนี้ในบรรทัดถัดไปของช่องสีเขียวตามที่มาร์คไว้

# เปิดใช้งาน HTTPS ให้สามารถเข้าใช้งานเว็บไซต์ได้
$_SERVER['HTTPS'] = 'on';

# การตั้งค่าที่อยู่ WordPress ที่เป็นส่วนของหน้าผู้ดูแลระบบ
define( 'WP_HOME', 'https://www.cmth.work' );

# การตั้งค่า URL ของเว็บไซต์ หรือระบบหลังบ้านของ WordPress
define( 'WP_SITEURL', 'https://www.cmth.work' );

Host-WP-CF-3

เมื่อแก้ไขไฟล์ wp-config.php เสร็จเรียบร้อยแล้วให้ทำตามนี้
» กดปุ่มEscเพื่อให้-- INSERT --หายไป
» พิมพ์:wqหรือ:xได้เลย
» กด Enter Host-WP-CF-4

จากนั้นไปที่เว็บเบราว์เซอร์ที่เรากำลังใช้งานอยู่ เช่น Chrome แล้วทดสอบ URL ตามนี้

https://www.cmth.work

Host-WP-CF-5

การเข้าถึง WordPress ที่มาจาก CloudFront ผ่าน http

ดังนั้น WordPress จะพยายามแสดงผ่าน http
อย่างไรก็ตาม หน้าจอที่ผู้ใช้เห็นจริงๆ นั้น คือสิ่งที่ CloudFront ได้ทำการเปลี่ยนแปลงให้เป็น https

ดังนั้นจึงเป็นการตั้งค่าให้แสดงบน WordPress ด้วย https

$_SERVER['HTTPS'] = 'on';

สรุป

การที่เราจะเผยแพร่ WordPress บน CloudFront นั้น เราต้องตั้งค่า URL ของ Website ใน WordPress ด้วย คือเข้ามาตั้งค่าที่ไฟล์ wp-config.php ในโฟลเดอร์ html ที่มีข้อมูลของ WordPress และตั้งค่าการเข้าถึง WordPress ที่มาจาก CloudFront ผ่าน http ให้สามารถ Redirect เป็น https ได้ในขณะเข้าใช้งานเว็บไซต์ผ่าน WordPress