การติดตั้งใบรับรอง SSL บนเซิร์ฟเวอร์ Apache
คุณสามารถทำให้เซิร์ฟเวอร์ Apache รองรับการเข้าถึงแบบปลอดภัยผ่าน HTTPS ได้โดยการติดตั้งใบรับรอง SSL ลงบนเซิร์ฟเวอร์ Apache บทความนี้แนะนำวิธีการติดตั้งใบรับรอง SSL บนเซิร์ฟเวอร์ Apache
เวอร์ชัน Apache ในเอกสารนี้ใช้ Apache/2.4.6 เป็นตัวอย่าง
ก่อนการติดตั้งโปรดยืนยันว่าพอร์ต 443 ไม่ถูกใช้งาน หากพอร์ต 443 ถูกใช้งานแล้ว กรุณาผูกพอร์ตอื่นเมื่อติดตั้งใบรับรอง
การขอรับใบรับรอง
- หลังจากที่เราออกใบรับรองให้ท่านแล้ว เราจะมอบไฟล์ใบรับรอง (.zip) ในรูปแบบบีบอัดให้ท่าน ในไฟล์บีบอัดมีโฟลเดอร์สี่โฟลเดอร์ซึ่งสอดคล้องกับรูปแบบใบรับรองสี่ประเภท: Tomcat, Nginx, IIS, Apache; เซิร์ฟเวอร์ Apache ต้องใช้ใบรับรองที่อยู่ในโฟลเดอร์ Apache
- โฟลเดอร์ Apache จะประกอบด้วยไฟล์สามไฟล์
domain_com.crtไฟล์ใบรับรองdomain_com.keyไฟล์คีย์ส่วนตัวdomain_com.ca-bundleไฟล์ห่วงโซ่ใบรับรอง
การติดตั้งใบรับรอง SSL
- คัดลอกไฟล์ใบรับรอง
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
- ตรวจสอบไฟล์คอนฟิก
httpd.confภายใต้ไดเรกทอรี/etc/httpd/confค้นหาคำสั่งคอนฟิกInclude conf.modules.d/*.confและยืนยันว่าคำสั่งคอนฟิกนี้ไม่ได้ถูกคอมเมนต์ หากถูกคอมเมนต์ไว้ ให้นำสัญลักษณ์คอมเมนต์ (#) ออกจากบรรทัดแรก แล้วบันทึกไฟล์คอนฟิก - ตรวจสอบไฟล์การกำหนดค่า
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
- แก้ไขไฟล์คอนฟิก
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>
- บันทึกไฟล์คอนฟิกแล้วรีสตาร์ทเซิร์ฟเวอร์ Apache
ทดสอบใบรับรอง SSL
ป้อนชื่อโดเมนที่ผูกกับใบรับรอง SSL ในแถบที่อยู่ของเบราว์เซอร์เพื่อทดสอบว่าติดตั้งใบรับรอง SSL สำเร็จหรือไม่ หากสำเร็จ แถบที่อยู่ของเบราว์เซอร์จะแสดงไอคอนแม่กุญแจปลอดภัย คลิกเพื่อดูข้อมูลใบรับรองได้

การตั้งค่าความปลอดภัยสำหรับเปลี่ยนเส้นทาง HTTP ไปยัง HTTPS อัตโนมัติ (ทางเลือก)
หากต้องการเปลี่ยนเส้นทางคำขอ HTTP ไปยัง HTTPS โดยอัตโนมัติ คุณสามารถตั้งค่าได้ดังนี้:
- แก้ไขไฟล์คอนฟิก
/etc/httpd/confในไดเรกทอรี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 โดยอัตโนมัติ