จะติดตั้งใบรับรอง 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 บนเซิร์ฟเวอร์ Tomcat
IIS
-
เปิด IIS Service Manager
-
เลือกชื่อไซต์ภายใต้ Sites แล้วดับเบิลคลิกเปิด “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ในบรรทัดคำสั่งเพื่อเปิดใช้งานโมดูลเปลี่ยนเส้นทาง -
จากนั้นเปิดไฟล์คอนฟิก 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