Skip to main content

การติดตั้งใบรับรอง SSL บนเซิร์ฟเวอร์ Apache

คุณสามารถทำให้เซิร์ฟเวอร์ Apache รองรับการเข้าถึงแบบปลอดภัยผ่าน HTTPS ได้โดยการติดตั้งใบรับรอง SSL ลงบนเซิร์ฟเวอร์ Apache บทความนี้แนะนำวิธีการติดตั้งใบรับรอง SSL บนเซิร์ฟเวอร์ Apache

หมายเหตุ

เวอร์ชัน Apache ในเอกสารนี้ใช้ Apache/2.4.6 เป็นตัวอย่าง ก่อนการติดตั้งโปรดยืนยันว่าพอร์ต 443 ไม่ถูกใช้งาน หากพอร์ต 443 ถูกใช้งานแล้ว กรุณาผูกพอร์ตอื่นเมื่อติดตั้งใบรับรอง

การขอรับใบรับรอง

  1. หลังจากที่เราออกใบรับรองให้ท่านแล้ว เราจะมอบไฟล์ใบรับรอง (.zip) ในรูปแบบบีบอัดให้ท่าน ในไฟล์บีบอัดมีโฟลเดอร์สี่โฟลเดอร์ซึ่งสอดคล้องกับรูปแบบใบรับรองสี่ประเภท: Tomcat, Nginx, IIS, Apache; เซิร์ฟเวอร์ Apache ต้องใช้ใบรับรองที่อยู่ในโฟลเดอร์ Apache
  2. โฟลเดอร์ Apache จะประกอบด้วยไฟล์สามไฟล์
  • domain_com.crt ไฟล์ใบรับรอง
  • domain_com.key ไฟล์คีย์ส่วนตัว
  • domain_com.ca-bundle ไฟล์ห่วงโซ่ใบรับรอง

การติดตั้งใบรับรอง SSL

  1. คัดลอกไฟล์ใบรับรอง domain_com.crt ไฟล์คีย์ส่วนตัว domain_com.key และไฟล์ห่วงโซ่ใบรับรอง domain_com.ca-bundle ที่ได้รับแล้วจากไดเรกทอรีในเครื่องไปยังไดเรกทอรี /etc/httpd/ssl ของเซิร์ฟเวอร์ Apache
หมายเหตุ
  • หากไดเรกทอรี /etc/httpd/ssl ไม่มีอยู่ สามารถสร้างได้ด้วยคำสั่ง mkdir -p /etc/httpd/ssl
  • อาจมีความแตกต่างระหว่างเวอร์ชัน บางไดเรกทอรีของ Apache อาจเป็น /etc/apache2
  1. ตรวจสอบไฟล์คอนฟิก httpd.conf ภายใต้ไดเรกทอรี /etc/httpd/conf ค้นหาคำสั่งคอนฟิก Include conf.modules.d/*.conf และยืนยันว่าคำสั่งคอนฟิกนี้ไม่ได้ถูกคอมเมนต์ หากถูกคอมเมนต์ไว้ ให้นำสัญลักษณ์คอมเมนต์ (#) ออกจากบรรทัดแรก แล้วบันทึกไฟล์คอนฟิก
  2. ตรวจสอบไฟล์การกำหนดค่า 00-ssl.conf ในไดเรกทอรี /etc/httpd/conf.modules.d ค้นหาคำสั่งการกำหนดค่า LoadModule ssl_module modules/mod_ssl.so และยืนยันว่าคำสั่งการกำหนดค่านี้ไม่ได้ถูกคอมเมนต์ หากถูกคอมเมนต์แล้ว ให้ลบเครื่องหมายคอมเมนต์ (#) ที่บรรทัดแรกออก แล้วบันทึกไฟล์การกำหนดค่า
หมายเหตุ

หากไม่พบ LoadModule ssl_module modules/mod_ssl.so ในไฟล์การกำหนดค่าข้างต้น โปรดยืนยันว่าได้ติดตั้งโมดูล mod_ssl.so แล้วหรือไม่ หากยังไม่ได้ติดตั้งโมดูล mod_ssl.so คุณสามารถติดตั้งได้โดยรันคำสั่ง yum install mod_ssl

  1. แก้ไขไฟล์คอนฟิก ssl.conf ภายใต้ไดเรกทอรี /etc/httpd/conf.d โดยแก้ไขเนื้อหาดังต่อไปนี้:
<VirtualHost *:443>
DocumentRoot /var/www/html
#启用 SSL 功能
SSLEngine on
#证书文件的路径
SSLCertificateFile /etc/httpd/ssl/domain_com.crt
#私钥文件的路径
SSLCertificateKeyFile /etc/httpd/ssl/domain_com.key
#证书链文件的路径
SSLCertificateChainFile /etc/httpd/ssl/domain_com.ca-bundle
</VirtualHost>
  1. บันทึกไฟล์คอนฟิกแล้วรีสตาร์ทเซิร์ฟเวอร์ Apache

ทดสอบใบรับรอง SSL

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

ผลลัพธ์ใบรับรอง SSL

การตั้งค่าความปลอดภัยสำหรับเปลี่ยนเส้นทาง HTTP ไปยัง HTTPS อัตโนมัติ (ทางเลือก)

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

  1. แก้ไขไฟล์คอนฟิก /etc/httpd/conf ในไดเรกทอรี 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>
  1. รีสตาร์ทเซิร์ฟเวอร์ Apache ก็สามารถใช้งานการเข้าถึงผ่านโดเมนเนมได้ โดยจะทำการเปลี่ยนเส้นทางจาก HTTP ไปยัง HTTPS โดยอัตโนมัติ