เมื่อคุณ การติดตั้ง SSL ของคุณ /TLS ใบรับรองบน Apache เป็นความคิดที่ดีที่จะเปลี่ยนเส้นทางการรับส่งข้อมูล HTTP ขาเข้าทั้งหมดไปยังโปรโตคอล HTTPS ที่ปลอดภัย ด้วยวิธีนี้ลิงก์ที่มีอยู่ไปยังไซต์ของคุณโดยเริ่มต้น http://
เช่นเดียวกับ URL ทั้งหมดที่ผู้ใช้พิมพ์ลงในแถบที่อยู่ของเบราว์เซอร์จะได้รับเว็บไซต์ของคุณในเวอร์ชัน HTTPS
เราจะพูดถึงสองวิธีที่นี่ ควรใช้วิธี Virtual Hosts หากคุณสามารถเข้าถึงไฟล์คอนฟิกูเรชันของเซิร์ฟเวอร์ Apache ได้
วิธีโฮสต์เสมือน
คุณสามารถเปลี่ยนเส้นทางโฮสต์เสมือน HTTP บนพอร์ตได้อย่างง่ายดาย 80
ไปยังโฮสต์เสมือน HTTPS บนพอร์ต 443
โดยแก้ไขการกำหนดค่าโฮสต์เสมือนของเว็บไซต์ดังที่แสดงด้านล่าง:
ชื่อเซิร์ฟเวอร์ www.example.com Redirect / https://www.example.com/ ServerName www.example.com DocumentRoot / usr / local / apache80 / htdocs SSLEngine เปิด # Configuration ต่อ ...
โปรดดูเอกสารของเซิร์ฟเวอร์ของคุณสำหรับตำแหน่งของไฟล์คอนฟิกูเรชันโฮสต์เสมือนของคุณ บน Ubuntu / Debian ตำแหน่งเริ่มต้นคือ /etc/apache2/sites-available/
. คุณจะต้องรีสตาร์ท Apache หลังจากเปลี่ยนการกำหนดค่าโฮสต์เสมือน
mod_rewrite / .htaccess วิธีการ
วิธีนี้ต้องการสิ่งนั้น mod_rewrite เปิดใช้งานบนเซิร์ฟเวอร์ของคุณ หากคุณไม่สามารถเข้าถึงไฟล์โฮสต์เสมือนของเซิร์ฟเวอร์ Apache ให้ใช้ไฟล์ .htaccess
ไฟล์เพื่อเขียนคำขอ HTTP ไปยัง HTTPS เพิ่มบรรทัดต่อไปนี้ในไฟล์ชื่อ .htaccess
ไฟล์ในไดเรกทอรีรากของโดเมนของคุณ (สร้างไฟล์หากไม่มี):
RewriteEngine บน RewriteCond% {HTTPS}! = ใน RewriteRule ^ /? (. *) https: //% {SERVER_NAME} / $ 1 [R, L]