跳至主要内容

Apache 伺服器安裝 SSL 證書

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

說明

本文檔 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 憑證鏈檔案,從本機目錄複製到 Apache 伺服器的 /etc/httpd/ssl 目錄下。
說明
  • /etc/httpd/ssl 目錄不存在,可以透過 mkdir -p /etc/httpd/ssl 指令建立
  • 不同版本之間可能存在差異,部分 Apache 目錄可能為 /etc/apache2
  1. 檢查 /etc/httpd/conf 目錄下的 httpd.conf 設定檔,找到 Include conf.modules.d/*.conf 設定語法,並確認該設定語法未被註解。若已註解,請移除開頭的註解符號(#),儲存設定檔。
  2. 檢查 /etc/httpd/conf.modules.d 目錄下的 00-ssl.conf 設定檔,找到 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. 編輯 /etc/httpd/conf.d 目錄下的 ssl.conf 配置檔案。修改如下內容:
<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。