จะทำให้เว็บไซต์ที่ติดตั้งใบรับรอง SSL เปลี่ยนเส้นทางจาก HTTP ไปยัง HTTPS ได้อย่างไร?
หลังจากติดตั้งใบรับรอง SSL เสร็จเรียบร้อยแล้ว จำเป็นต้องกำหนดค่ากฎการเปลี่ยนเส้นทางแบบบังคับ 301 บนเซิร์ฟเวอร์เพื่อให้สามารถเข้าถึงเว็บไซต์ทั้งหมดผ่านการเข้ารหัส HTTPS ได้ วิธีการดำเนินการเฉพาะของแต่ละเซิร์ฟเวอร์:
หลังกำหนดค่าแล้ว โปรดล้างแคชของเบราว์เซอร์ก่อนทดสอบ แนะนำให้ใช้ เครื่องมือตรวจสอบ SSL ของ Racent เพื่อตรวจสอบสถานะการเปลี่ยนเส้นทาง
Nginx
หากคุณต้องการเปลี่ยนเส้นทางคำขอ HTTP ไปยัง HTTPS โดยอัตโนมัติ คุณสามารถตั้งค่าได้โดยทำตามขั้นตอนต่อไปนี้:
-
ใช้ฟังก์ชันการเปลี่ยนเส้นทางของ Nginx เพิ่ม
return 301 https://$host$request_uri;ในserverของ HTTP ก็จะสามารถเปลี่ยนเส้นทางคำขอHTTPไปยังHTTPSได้ แก้ไขเนื้อหาดังนี้:server {
listen 80;
#เปลี่ยนคำขอโดเมน http เป็น https
return 301 https://$host$request_uri;
} -
รีสตาร์ทเซิร์ฟเวอร์ Nginx ก็จะสามารถเข้าถึงผ่านโดเมนได้ โดย
HTTPจะเปลี่ยนเส้นทางไปยังHTTPSโดยอัตโนมัติ
สำหรับขั้นตอนการติดตั้งใบรับรอง SSL แบบสมบูรณ์ โปรดดู บทช่วยสอนการติดตั้งใบรับรอง sslTrus บนเซิร์ฟเวอร์ Nginx
Tomcat
หากคุณต้องการเปลี่ยนเส้นทางคำขอ HTTP ไปยัง HTTPS โดยอัตโนมัติ คุณสามารถตั้งค่าได้ตามขั้นตอนต่อไปนี้:
-
แก้ไขไฟล์
/usr/tomcat9.0.13/confในไดเรกทอรีweb.xmlและค้นหาแท็ก</welcome-file-list> -
โปรดขึ้นบรรทัดใหม่หลังแท็กปิด
</welcome-file-list>และเพิ่มเนื้อหาต่อไปนี้<login-config>
<!-- Authorization setting for SSL -->
<auth-method>CLIENT-CERT</auth-method>
<realm-name>Client Cert Users-only Area</realm-name>
</login-config>
<security-constraint>
<!-- Authorization setting for SSL -->
<web-resource-collection >
<web-resource-name >SSL</web-resource-name>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint> -
แก้ไขไฟล์
server.xmlในไดเรกทอรี/usr/tomcat9.0.13/confโดยเปลี่ยนพารามิเตอร์redirectPortเป็นพอร์ตconnectorของ SSL ซึ่งก็คือพอร์ต 443 ดังตัวอย่างต่อไปนี้:<Connector port="80" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="443" /> -
บันทึกไฟล์คอนฟิก จากนั้นรันคำสั่งต่อไปนี้ในไดเรกทอรี
binเพื่อตรวจสอบว่าการตั้งค่าถูกต้องหรือไม่./configtest.sh -
หากการตั้งค่าไม่มีปัญหา ให้รีสตาร์ทเซิร์ฟเวอร์ Tomcat ก็จะสามารถเข้าถึงผ่านโดเมนเนมได้ และรองรับการเปลี่ยนเส้นทางอัตโนมัติจาก HTTP ไปยัง HTTPS
./shutdown.sh #ปิดเซิร์ฟเวอร์ Tomcat
./startup.sh #เริ่มเซิร์ฟเวอร์ Tomcat
สำหรับขั้นตอนการติดตั้งใบรับรอง SSL แบบเต็มรูปแบบ โปรดดู บทช่วยสอนการติดตั้งใบรับรอง sslTrus SSL บนเซิร์ฟเวอร์ Tomcat
IIS
-
เปิด IIS Service Manager
-
เลือกชื่อไซต์ภายใต้ Websites แล้วดับเบิลคลิกเปิด “URL Rewrite” ดังภาพต่อไปนี้:
หมายเหตุก่อนดำเนินการขั้นตอนนี้ โปรดดาวน์โหลดและติดตั้ง โมดูล URL Rewrite ก่อน

-
เข้าสู่หน้า “URL Rewrite” แล้วคลิก เพิ่มกฎ ในคอลัมน์ “การดำเนินการ” ทางด้านขวา ดังภาพต่อไปนี้:

-
ในหน้าต่าง "เพิ่มกฎ" ที่ปรากฏขึ้น เลือก กฎเปล่า แล้วคลิก ตกลง ดังภาพต่อไปนี้:

-
เข้าสู่หน้า "แก้ไขกฎขาเข้า" ดังภาพต่อไปนี้:

- ชื่อ: กรอก Http redirect to https
- URL ที่ตรงกัน: ป้อน
(.*)ด้วยตนเองในช่อง "รูปแบบ" - เงื่อนไข:
- คลิก เพิ่ม เพื่อเปิดหน้าต่าง "เพิ่มเงื่อนไข"
- ป้อนเงื่อนไข:
{HTTPS} - ตรวจสอบว่าสตริงอินพุต: ค่าเริ่มต้นเลือก ตรงกับรูปแบบ
- รูปแบบ: ป้อน
^OFF$ด้วยตนเอง
- การดำเนินการ: กรอกพารามิเตอร์ต่อไปนี้
- ประเภทการดำเนินการ: เลือก เปลี่ยนเส้นทาง
- URL เปลี่ยนเส้นทาง:
https://{HTTP_HOST}/{R:1} - ประเภทการเปลี่ยนเส้นทาง: 301 เปลี่ยนเส้นทางถาวร
-
คลิก นำไปใช้ ในคอลัมน์ "การดำเนินการ" ทางด้านขวาเพื่อบันทึก
-
กลับไปที่หน้าแรกของเว็บไซต์ คลิก เริ่มต้นใหม่ ในคอลัมน์ "จัดการเว็บไซต์" ทางด้านขวา จากนั้นจะสามารถเข้าถึงด้วย HTTPS ได้
สำหรับขั้นตอนการติดตั้งใบรับรอง SSL แบบสมบูรณ์ โปรดดู บทช่วยสอนการติดตั้งใบรับรอง sslTrus บนเซิร์ฟเวอร์ IIS
Apache
หากคุณต้องการเปลี่ยนเส้นทางคำขอ HTTP ไปยัง HTTPS โดยอัตโนมัติ คุณสามารถตั้งค่าได้ดังนี้:
-
แก้ไขไฟล์คอนฟิก
httpd.confในไดเรกทอรี/etc/httpd/confตรวจสอบว่าไฟล์คอนฟิกนี้มีบรรทัดLoadModule rewrite_module modules/mod_rewrite.soหรือไม่ หากมี ให้ลบเครื่องหมายคอมเมนต์ (#) ที่ต้นบรรทัด หากไม่มี ให้เพิ่มบรรทัดLoadModule rewrite_module modules/mod_rewrite.soจากนั้นบันทึกไฟล์คอนฟิก -
เปิดไฟล์ http.conf แล้วเพิ่มเนื้อหาต่อไปนี้ในไฟล์คอนฟิก:
<VirtualHost *:80>
# เพิ่มใหม่
RewriteEngine on
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^(.*)?$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R]
</VirtualHost> -
รีสตาร์ทเซิร์ฟเวอร์ Apache ก็สามารถเข้าถึงผ่านโดเมนเนมได้ โดยเปลี่ยนเส้นทาง HTTP ไปยัง HTTPS โดยอัตโนมัติ
สำหรับขั้นตอนการติดตั้งใบรับรอง SSL แบบสมบูรณ์ โปรดดู บทช่วยสอนการติดตั้งใบรับรอง sslTrus บนเซิร์ฟเวอร์ Apache
Apache2
หากคุณต้องการเปลี่ยนเส้นทางคำขอ HTTP ไปยัง HTTPS โดยอัตโนมัติ คุณสามารถตั้งค่าได้ดังนี้:
-
ป้อนคำสั่ง
a2enmod rewriteใน command line เพื่อเปิดใช้งานโมดูลเปลี่ยนเส้นทาง -
จากนั้นเปิดไฟล์คอนฟิก HTTP เช่น
/etc/apache2/sites-available/000-default.confแล้วเพิ่มเนื้อหาต่อไปนี้ในไฟล์คอนฟิก:<VirtualHost *:80>
# เพิ่มใหม่
RewriteEngine on
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^(.*)?$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R]
</VirtualHost> -
รีสตาร์ทเซิร์ฟเวอร์ Apache ก็สามารถเข้าถึงผ่านโดเมนเนมได้ โดยเปลี่ยนเส้นทาง HTTP ไปยัง HTTPS โดยอัตโนมัติ
สำหรับขั้นตอนการติดตั้งใบรับรอง SSL แบบสมบูรณ์ โปรดดู บทช่วยสอนการติดตั้งใบรับรอง sslTrus บนเซิร์ฟเวอร์ Apache2