การติดตั้งใบรับรอง SSL บนเซิร์ฟเวอร์ Apache2
คุณสามารถทำให้เซิร์ฟเวอร์ Apache รองรับการเข้าถึงแบบปลอดภัย HTTPS ได้โดยการติดตั้งใบรับรอง SSL ลงบนเซิร์ฟเวอร์ Apache บทความนี้แนะนำวิธีการติดตั้งใบรับรอง SSL บนเซิร์ฟเวอร์ Apache
หมายเหตุ
เวอร์ชัน Apache ในเอกสารนี้ใช้ Apache/2.4.58(ubuntu) เป็นตัวอย่าง
ก่อนการติดตั้ง กรุณายืนยันว่าพอร์ต 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/apache2/sslของเซิร์ฟเวอร์ Apache หมายเหตุ:
- หากไดเรกทอรี
/etc/apache2/sslไม่มีอยู่ สามารถสร้างได้ด้วยคำสั่งmkdir -p /etc/apache2/ssl - อาจมีความแตกต่างระหว่างเวอร์ชัน บางไดเรกทอรีของ Apache อาจเป็น
/etc/httpd
- เนื่องจาก Apache อ่านเฉพาะไฟล์กำหนดค่าใน
sites-enabledจึงจำเป็นต้องตั้งค่าลิงก์สัญลักษณ์
ln -s /etc/apache2/sites-available/default-ssl.conf /etc/apache2/sites-enabled/000-default-ssl.conf
- แก้ไขไฟล์
/etc/apache2/sites-available/default-ssl.confโดยปรับเปลี่ยนเนื้อหาดังต่อไปนี้:
<VirtualHost *:443>
DocumentRoot /var/www/html
#启用 SSL 功能
SSLEngine on
#证书文件的路径
SSLCertificateFile /etc/apache2/ssl/domain_com.crt
#私钥文件的路径
SSLCertificateKeyFile /etc/apache2/ssl/domain_com.key
#证书链文件的路径
SSLCertificateChainFile /etc/apache2/ssl/domain_com.ca-bundle
</VirtualHost>
หลังจากแก้ไขแล้ว ให้บันทึกไฟล์การกำหนดค่าและรันคำสั่งต่อไปนี้:
a2enmod ssl #加载ssl模块,如果是替换证书可以忽略
apache2ctl configtest #检测配置文件是否报错
apache2ctl restart #重启Apache使配置生效
ทดสอบใบรับรอง SSL
ป้อนชื่อโดเมนที่ผูกกับใบรับรอง SSL ในแถบที่อยู่ของเบราว์เซอร์ เพื่อทดสอบว่าติดตั้งใบรับรอง SSL ของคุณสำเร็จหรือไม่ หากสำเร็จ แถบที่อยู่ของเบราว์เซอร์จะแสดงสัญลักษณ์แม่กุญแจ คลิกเพื่อดูข้อมูลใบรับรองได้

การกำหนดค่าความปลอดภัยสำหรับการเปลี่ยนเส้นทาง HTTP ไปยัง HTTPS อัตโนมัติ (ไม่บังคับ)
หากคุณต้องการเปลี่ยนเส้นทางคำขอ 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 โดยอัตโนมัติ