跳至主要内容

Apache2伺服器安裝SSL憑證

您可以透過將SSL憑證安裝到Apache伺服器,使Apache伺服器支援HTTPS安全存取。本文介紹如何在Apache伺服器安裝SSL憑證。

說明

本文件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 憑證鏈檔案從本機目錄複製到 Apache 伺服器的 /etc/apache2/ssl 目錄下。 說明:
  • /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。