本篇文章將指導您如何在 Apache 伺服器中安裝 SSL 證書。在安裝證書之前,您需要用您的伺服器生成一個 CSR(證書申請請求檔)以及將 Private Key (證書金鑰)存放在您的伺服器上
如何在 Apache 上產生 CSR?
CSR證書是一個文件檔, 將您的域名、公司資料等等訊息用您的伺服器金鑰做加密, 用來申請憑證時的文件檔案, 所有購買SSL都需要CSR
輸入以下指令
openssl req -new -newkey rsa:2048 -nodes -keyout yourdomain.key -out yourdomain.csr
*.請將 yourdomain 換成您的域名, 例如: 如果您的域名是 gaia.net, 請把 yourdomain.key 和 yourdomain.csr 改成gaia.net.key和gaia.net.csr
輸入以下資訊到您的 CSR
-
Country Name: 兩個字母的國際標準化組織 (ISO-) 格式,您組織全法註冊的國家/地區 國碼
-
State or Province Name: 您組織所在地的州/省全名。 請勿使用縮寫
-
Locality Name: 您組織註冊/所在地城市的全名。 請勿使用縮寫
-
Organization Name: 您公司的合法註冊的名稱。 憑證申請中的組織名稱必須是網域名稱的合法註冊人。
-
Organization Unit Name: 使用此欄位區分組織中的部門 (例如「工程」或「人力資源」)
-
Common Name: 您計劃使用憑證的完整網域名稱 (FQDN) 或 URL (您希望客戶使用 SSL 連線的網站區域)
-
Email Address: 輸入您的聯絡e-mail
注意: 以下選項皆為選用, 如果你不想填入, 輸入小數點[.]跳至下一步
-
A challenge password: 選用, CA單位已經沒有在使用, 直接跳過來避免混淆
-
An Optional Company Name: If 選用, 如果您的公司名稱太長或太複雜你可以在個欄位輸入較簡短的名稱, 建議直接跳過避免混淆
OpenSSL 產生檔案
key 您的伺服器金鑰, 安裝時會需要用到
csr 證書申請請求檔, 用來申請證書用
複製 yourdomain.csr 檔案
用文字編輯器開啟 yourdomain.csr 檔案, 打開會出現開頭為 —–BEGIN CERTIFICATE REQUEST—–結尾為—–END CERTIFICATE REQUEST—–中間是亂碼的內容, 請複製到網站上進行購買
安裝 SSL 證書至在 Apache 伺服器
證書簽發完之後您可以放心將證書安裝至您的伺服器上
準備所有證書資料上傳至Apache伺服器
yourdomain.crt – 您的證書檔案內容
ca-bundle – 包含rootCA和中繼證書, 可使用以下指令串接bundle
cat SectigoRSADomainValidationSecureServerCA.crt USERTrustRSAAAACA.crt AAACertificateServices.crt >> bundle.crt
*範例為Sectigo PositiveSSL bundle憑證
編輯您的 Apache 的組態檔
httpd.conf, apache2.conf 或 ssl.conf, 不同的OS版本可能會在不同資料夾下, 請搜尋 etc/httpd/, /etc/apache2/ 或 /etc/httpd/conf.d/ssl.conf
配置 virtual host 並複製一份 *.conf 組態檔
找到您的組態檔後, 先配置您的virtual host 在複製一份您的*.conf 組態檔, 當發生錯誤時, 可以回覆原狀
修改 Virtual Host 配置
一般的 virtual host 配置如下
ServerAdmin admin@gaia.net
DocumentRoot /var/www/
ServerName www.gaia.net
ErrorLog /www/home/logs/error_log
SSLEngine on
SSLCertificateFile /etc/ssl/gaia_net.crt
SSLCertificateKeyFile /etc/ssl/gaia_net.key
SSLCertificateChainFile /etc/ssl/bundle.crt
-
粗體字是您需要修改的檔案
-
確認不要有 # 符號加在前面, 不然會被註解掉
修改檔案名稱符合您證書的擺放位置
l SSLCertificateFile: 放入憑證本體檔案
l SSLCertificateKeyFile: 放入金鑰檔案
l SSLCertificateChainFile: 放入中繼憑證檔案
配置完成後重啟您的伺服器
l apachectl stop
l apachectl start
l apachectl restart