วิธีการเปลี่ยนเส้นทาง HTTPS ไปยัง HTTP อย่างง่าย: คู่มือทีละขั้นตอน
ในโลกของเว็บเซิร์ฟเวอร์และเครือข่าย การเปลี่ยนเส้นทางการเข้าถึงข้อมูลถือเป็นสิ่งจำเป็นทั่วไป ในขณะที่บทเรียนส่วนใหญ่เน้นการเปลี่ยนเส้นทางการเข้าถึง HTTP ไปยัง HTTPS เพื่อความปลอดภัยที่เพิ่มขึ้น อาจมีสถานการณ์ที่ต้องการกลับกัน - นั่นคือ การเปลี่ยนเส้นทาง HTTPS ไปยัง HTTP ซึ่งอาจฟังดูขัดแย้งในตอนแรก แต่ก็อาจมีความสำคัญในสถานการณ์เฉพาะ โดยเฉพาะเมื่อจัดการกับการเปลี่ยนชุดเซิร์ฟเวอร์หรือเพื่อเหตุผลด้านความเข้ากันได้
ปัญหา: ทำไมต้องเปลี่ยนเส้นทาง HTTPS ไปยัง HTTP?
ลองจินตนาการว่าคุณได้ตั้งค่าเซิร์ฟเวอร์ที่ปลอดภัยด้วยใบรับรอง SSL และมีเซิร์ฟเวอร์สำรองที่ทำงานเฉพาะบน HTTP ผู้ใช้ของคุณอาจได้สร้างทางลัดไปยังทั้งเวอร์ชัน HTTPS และ HTTP ของเซิร์ฟเวอร์ผลิตของคุณ อย่างไรก็ตาม หากเกิดความล้มเหลวในเซิร์ฟเวอร์ผลิต ความพยายามของพวกเขาในการเข้าถึงเซิร์ฟเวอร์สำรองผ่าน HTTPS อาจส่งผลให้เกิดข้อความแสดงข้อผิดพลาดและคำเตือน ทำให้เกิดความสับสนและความกังวล
ในฐานะผู้ดูแลระบบ คุณต้องการให้แน่ใจว่าผู้ใช้ของคุณพบกับประสบการณ์ที่ราบรื่น แม้ว่าพวกเขาจะเชื่อมต่อกับเซิร์ฟเวอร์สำรองโดยไม่ได้ตั้งใจและถูกทักทายด้วยการเชื่อมต่อ HTTPS นี่คือที่การเปลี่ยนเส้นทางคำขอ HTTPS ไปยัง HTTP สามารถช่วยลดความสับสนและป้องกัน “หน้าจอสีแดงแห่งความไม่สบายใจของ Internet Explorer”
ทางออก: การเปลี่ยนเส้นทาง HTTPS ไปยัง HTTP
เพื่อให้การเปลี่ยนเส้นทางนี้เป็นไปได้ คุณจะต้องใช้โมดูล mod_rewrite
ที่มีอยู่ในเซิร์ฟเวอร์ Apache ต่อไปนี้คือคู่มือทีละขั้นตอนเกี่ยวกับวิธีการนำโซลูชันนี้ไปใช้
ขั้นตอนที่ 1: เปิดใช้งาน mod_rewrite
ตรวจสอบให้แน่ใจว่าโมดูล mod_rewrite
ถูกเปิดใช้งานในเซิร์ฟเวอร์ Apache ของคุณ คุณสามารถทำได้โดยการรันคำสั่งต่อไปนี้ในเทอร์มินัลของคุณ:
a2enmod rewrite
หลังจากเปิดใช้งานแล้ว ให้รีสตาร์ทเซิร์ฟเวอร์ Apache ของคุณ:
systemctl restart apache2
ขั้นตอนที่ 2: อัปเดตไฟล์ .htaccess ของคุณ
ถัดไป คุณต้องเพิ่มกฎเฉพาะบางประการในไฟล์ .htaccess
ของคุณ ซึ่งตั้งอยู่ในไดเร็กทอรีหลักของเว็บเซิร์ฟเวอร์ของคุณ หากคุณไม่มีไฟล์ .htaccess
คุณสามารถสร้างไฟล์ได้
เปิดไฟล์ .htaccess
และเพิ่มโค้ดต่อไปนี้:
RewriteEngine On
RewriteCond %{HTTPS} on
RewriteRule (.*) http://%{HTTP_HOST}%{REQUEST_URI}
คำอธิบายของโค้ด:
- RewriteEngine On: บรรทัดนี้เปิดใช้งานโมดูล mod_rewrite.
- RewriteCond %{HTTPS} on: ข้อกำหนดนี้ตรวจสอบว่าการเชื่อมต่อมีความปลอดภัยผ่าน HTTPS
- RewriteRule (.*) http://%{HTTP_HOST}%{REQUEST_URI}: บรรทัดนี้กำหนดการเปลี่ยนเส้นทาง มันจับทุกอย่างหลังจากโดเมนและเปลี่ยนเส้นทางไปยังเส้นทางเดียวกันแต่ใช้ HTTP
ขั้นตอนที่ 3: ทดสอบการเปลี่ยนเส้นทาง
เมื่อคุณทำการเปลี่ยนแปลงเหล่านี้แล้ว สิ่งสำคัญคือต้องทดสอบว่าการเปลี่ยนเส้นทางทำงานตามที่คาดไว้ เข้าชมเวอร์ชัน HTTPS ของไซต์ของคุณและควรเปลี่ยนเส้นทางคุณไปยังเวอร์ชัน HTTP โดยอัตโนมัติ
ข้อควรพิจารณาที่สำคัญ
-
ประสบการณ์ของผู้ใช้: โปรดจำไว้ว่าการเปลี่ยนเส้นทางนี้อาจส่งผลต่อประสบการณ์ของผู้ใช้ เมื่อพวกเขาคาดหวังให้เป็น HTTPS สิ่งสำคัญคือต้องแจ้งให้ผู้ใช้ทราบเกี่ยวกับฟังก์ชันการทำงานของเซิร์ฟเวอร์สำรองและการขาดโปรโตคอลความปลอดภัย
-
แคชของเบราว์เซอร์: บางครั้ง เบราว์เซอร์สามารถเก็บกฎการเปลี่ยนเส้นทางไว้ในแคช ดังนั้นหากคุณพบปัญหาระหว่างการทดสอบ ให้ลองลบแคชของเบราว์เซอร์ของคุณ
-
ความปลอดภัย: แม้ว่าการเปลี่ยนเส้นทางจาก HTTPS ไปยัง HTTP อาจเป็นการแก้ปัญหาในทันที แต่ให้แน่ใจว่าคุณเข้าใจผลกระทบของการไม่ใช้การเชื่อมต่อที่ปลอดภัยสำหรับข้อมูลที่ละเอียดอ่อน
สรุป
การเปลี่ยนเส้นทาง HTTPS ไปยัง HTTP อาจเป็นโซลูชันที่มีประโยชน์ในสถานการณ์เฉพาะ โดยเฉพาะเมื่อจัดการกับการซ้ำซ้อนของเซิร์ฟเวอร์และประสบการณ์ของผู้ใช้ โดยการนำกฎ mod_rewrite
ไปใช้ใน Apache คุณสามารถช่วยผู้ใช้หลีกเลี่ยงความสับสนที่ไม่จำเป็นจากการเตือนด้านความปลอดภัยในขณะที่รักษาเซิร์ฟเวอร์สำรองที่ทำงานได้
ตอนนี้คุณสามารถรู้สึกสบายใจได้ว่าผู้ใช้ของคุณจะมีประสบการณ์ที่ราบรื่นบนเซิร์ฟเวอร์สำรองของคุณ ไม่ว่าจะเป็นโปรโตคอลต้นฉบับที่พวกเขาตั้งใจจะใช้.