Skip to main content

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

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

หมายเหตุ

เวอร์ชัน Apache ในเอกสารนี้ใช้ Apache/2.4.58(ubuntu) เป็นตัวอย่าง ก่อนการติดตั้ง กรุณายืนยันว่าพอร์ต 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/apache2/ssl ของเซิร์ฟเวอร์ Apache หมายเหตุ:
  • หากไดเรกทอรี /etc/apache2/ssl ไม่มีอยู่ สามารถสร้างได้ด้วยคำสั่ง mkdir -p /etc/apache2/ssl
  • อาจมีความแตกต่างระหว่างเวอร์ชัน บางไดเรกทอรีของ Apache อาจเป็น /etc/httpd
  1. เนื่องจาก Apache อ่านเฉพาะไฟล์กำหนดค่าใน sites-enabled จึงจำเป็นต้องตั้งค่าลิงก์สัญลักษณ์
ln -s /etc/apache2/sites-available/default-ssl.conf /etc/apache2/sites-enabled/000-default-ssl.conf
  1. แก้ไขไฟล์ /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 ของคุณสำเร็จหรือไม่ หากสำเร็จ แถบที่อยู่ของเบราว์เซอร์จะแสดงสัญลักษณ์แม่กุญแจ คลิกเพื่อดูข้อมูลใบรับรองได้

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

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

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