Skip to main content

จะติดตั้งใบรับรอง SSL บนเว็บไซต์เพื่อให้ HTTP เปลี่ยนเส้นทางไปยัง HTTPS ได้อย่างไร?

หลังจากติดตั้งใบรับรอง SSL เสร็จสิ้น ต้องกำหนดกฎบังคับเปลี่ยนเส้นทาง 301 บนเซิร์ฟเวอร์เพื่อให้เข้าถึงเว็บไซต์ด้วยการเข้ารหัส HTTPS ทั้งหมด วิธีการปฏิบัติสำหรับแต่ละเซิร์ฟเวอร์:

คำแนะนำ

หลังกำหนดค่าแล้วโปรดล้างแคชเบราว์เซอร์เพื่อทดสอบ แนะนำให้ใช้ เครื่องมือตรวจสอบ SSL ของ Racent เพื่อตรวจสอบสถานะการเปลี่ยนเส้นทาง

Nginx​

หากคุณต้องการเปลี่ยนเส้นทางคำขอ HTTP ไปยัง HTTPS โดยอัตโนมัติ คุณสามารถตั้งค่าได้ดังนี้:

  1. ใช้ฟังก์ชันเปลี่ยนเส้นทางของ Nginx เพิ่ม return 301 https://$host$request_uri; ใน server ของ HTTP ก็จะเปลี่ยนคำขอ HTTP เป็น HTTPS ได้ แก้ไขเนื้อหาดังนี้:

    server {
    listen 80;
    #เปลี่ยนคำขอโดเมน http เป็น https
    return 301 https://$host$request_uri;
    }

  2. รีสตาร์ทเซิร์ฟเวอร์ Nginx ก็จะเข้าถึงด้วยโดเมนได้ ทำให้ HTTP เปลี่ยนเส้นทางไปยัง HTTPS โดยอัตโนมัติ

คำแนะนำ

สำหรับขั้นตอนการติดตั้งใบรับรอง SSL แบบสมบูรณ์ โปรดดู บทช่วยสอนการติดตั้งใบรับรอง sslTrus บนเซิร์ฟเวอร์ Nginx


Tomcat​

หากคุณต้องการเปลี่ยนเส้นทางคำขอ HTTP ไปยัง HTTPS โดยอัตโนมัติ คุณสามารถตั้งค่าได้ดังนี้:

  1. แก้ไขไฟล์ /usr/tomcat9.0.13/conf ในไดเรกทอรี web.xml และค้นหาแท็ก </welcome-file-list>

  2. ขึ้นบรรทัดใหม่หลังแท็กปิด </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>
  3. แก้ไขไฟล์ server.xml ภายใต้ไดเรกทอรี /usr/tomcat9.0.13/conf โดยเปลี่ยนพารามิเตอร์ redirectPort เป็นพอร์ต connector ของ SSL ซึ่งก็คือพอร์ต 443 ดังตัวอย่างต่อไปนี้:

    <Connector port="80" protocol="HTTP/1.1"
    connectionTimeout="20000"
    redirectPort="443" />
  4. บันทึกไฟล์คอนฟิกูเรชัน จากนั้นรันคำสั่งต่อไปนี้ภายใต้ไดเรกทอรี bin เพื่อตรวจสอบว่าค่ากำหนดถูกต้อง

    ./configtest.sh
  5. หากการตั้งค่าไม่มีปัญหา ให้รีสตาร์ทเซิร์ฟเวอร์ Tomcat ก็จะสามารถเข้าถึงผ่านโดเมนเนมได้ โดยจะเปลี่ยนเส้นทางจาก HTTP ไปยัง HTTPS ให้โดยอัตโนมัติ

    ./shutdown.sh  #ปิดเซิร์ฟเวอร์ Tomcat
    ./startup.sh #เริ่มเซิร์ฟเวอร์ Tomcat
คำแนะนำ

ขั้นตอนการติดตั้งใบรับรอง SSL แบบสมบูรณ์ ดูได้ที่ บทช่วยสอนการติดตั้งใบรับรอง sslTrus บนเซิร์ฟเวอร์ Tomcat


IIS​

  1. เปิด IIS Service Manager

  2. เลือกชื่อไซต์ภายใต้ Sites แล้วดับเบิลคลิกเปิด “URL Rewrite” ดังรูปต่อไปนี้:

    หมายเหตุ

    ก่อนดำเนินการขั้นตอนนี้ กรุณาดาวน์โหลดและติดตั้ง โมดูล URL Rewrite ก่อน

    IIS

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

    IIS

  4. ในหน้าต่าง “เพิ่มกฎ” ที่ปรากฏขึ้น ให้เลือก กฎเปล่า แล้วคลิก ตกลง ดังรูปต่อไปนี้:

    IIS

  5. เข้าสู่หน้า “แก้ไขกฎขาเข้า” ดังรูปต่อไปนี้:

    IIS

    • ชื่อ: กรอก Http redirect to https
    • URL ที่ตรงกัน: ป้อน (.*) ด้วยตนเองในช่อง “รูปแบบ”
    • เงื่อนไข:
      • คลิกเพิ่ม หน้าต่าง “เพิ่มเงื่อนไข” จะปรากฏขึ้น
      • ป้อนเงื่อนไข: {HTTPS}
      • ตรวจสอบว่าสตริงอินพุต: เลือกค่าเริ่มต้น “ตรงกับรูปแบบ”
      • รูปแบบ: ป้อน ^OFF$ ด้วยตนเอง
    • การดำเนินการ: กรอกพารามิเตอร์ต่อไปนี้
      • ประเภทการดำเนินการ: เลือกเปลี่ยนเส้นทาง
      • URL เปลี่ยนเส้นทาง: https://{HTTP_HOST}/{R:1}
      • ประเภทการเปลี่ยนเส้นทาง: การเปลี่ยนเส้นทาง 301
  6. คลิก นำไปใช้ ในแถบ “การดำเนินการ” ทางด้านขวาเพื่อบันทึก

  7. กลับไปที่หน้าแรกของเว็บไซต์ คลิก เริ่มต้นใหม่ ในแถบ “จัดการเว็บไซต์” ทางด้านขวา ก็จะสามารถเข้าถึงด้วย HTTPS ได้

คำแนะนำ

สำหรับขั้นตอนการติดตั้งใบรับรอง SSL แบบครบถ้วน โปรดดู บทช่วยสอนการติดตั้งใบรับรอง sslTrus บนเซิร์ฟเวอร์ IIS


Apache​

หากคุณต้องการเปลี่ยนเส้นทางคำขอ HTTP ไปยัง HTTPS โดยอัตโนมัติ คุณสามารถตั้งค่าได้โดยทำตามขั้นตอนต่อไปนี้:

  1. แก้ไขไฟล์คอนฟิก httpd.conf ในไดเรกทอรี /etc/httpd/conf ตรวจสอบว่าไฟล์คอนฟิกนี้มี LoadModule rewrite_module modules/mod_rewrite.so หรือไม่ หากมี ให้ลบเครื่องหมายคอมเมนต์ (#) ที่บรรทัดแรกออก หากไม่มี ให้เพิ่มบรรทัด LoadModule rewrite_module modules/mod_rewrite.so จากนั้นบันทึกไฟล์คอนฟิก

  2. เปิดไฟล์ http.conf แล้วเพิ่มเนื้อหาต่อไปนี้ในไฟล์คอนฟิก:

    <VirtualHost *:80>
    # เพิ่มใหม่
    RewriteEngine on
    RewriteCond %{SERVER_PORT} !^443$
    RewriteRule ^(.*)?$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R]
    </VirtualHost>
  3. รีสตาร์ทเซิร์ฟเวอร์ Apache ก็สามารถเข้าถึงผ่านโดเมนเนมได้ โดยเปลี่ยนเส้นทาง HTTP ไปยัง HTTPS โดยอัตโนมัติ

คำแนะนำ

สำหรับขั้นตอนการติดตั้งใบรับรอง SSL แบบสมบูรณ์ โปรดดู บทช่วยสอนการติดตั้งใบรับรอง sslTrus บนเซิร์ฟเวอร์ Apache


Apache2​

หากคุณต้องการเปลี่ยนเส้นทางคำขอ HTTP ไปยัง HTTPS โดยอัตโนมัติ คุณสามารถตั้งค่าได้ดังนี้:

  1. ป้อน a2enmod rewrite ในบรรทัดคำสั่งเพื่อเปิดใช้งานโมดูลเปลี่ยนเส้นทาง

  2. จากนั้นเปิดไฟล์คอนฟิก 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>
  3. รีสตาร์ทเซิร์ฟเวอร์ Apache ก็สามารถเข้าถึงผ่านโดเมนเนมได้ โดยเปลี่ยนเส้นทาง HTTP ไปยัง HTTPS โดยอัตโนมัติ

คำแนะนำ

สำหรับขั้นตอนการติดตั้งใบรับรอง SSL แบบสมบูรณ์ โปรดดู บทช่วยสอนการติดตั้งใบรับรอง sslTrus บนเซิร์ฟเวอร์ Apache2