Apache-2.2
將 SSL 證書移動到新伺服器
我正在將 SSL crt 和密鑰從一台伺服器移動到新伺服器。舊的在一個帶有 cpanel 的盒子上,而新的只是一個 LAMP Ubuntu 盒子。我一直在遵循教程和說明幾個小時而沒有得到任何地方。我創建了一個在 443 上監聽的 VirtualHost 文件。所有非 https 頁面都可以工作,只要我轉到 https 頁面,它就會給我一個連接被拒絕。我嘗試使用報告“未找到證書”的digicert.com/help。我該如何解決這個問題?
如果您收到連接被拒絕錯誤,則該框未偵聽埠 443 或防火牆阻止它。您可以使用
netstat -an | grep :443
(在那個盒子上)查看它是否在聽。
監聽 443 的 VirtualHost 應該有一個如下所示的塊:
SSLEngine on SSLCertificateFile /etc/pki/tls/certs/www.example.com.crt SSLCertificateKeyFile /etc/pki/tls/private/www.example.com-key SSLCertificateChainFile /etc/pki/tls/certs/startssl.intermediate.bundle.pem SSLCACertificateFile /etc/pki/tls/certs/startssl-ca.pem
您可以將證書和密鑰文件從舊伺服器複製到新伺服器,並根據需要調整配置文件中的路徑。
我有幾行與我正在使用的證書頒發機構有關。特別是,我使用 SSLCertificateChainFile 行指定中間證書。您可能需要對來自 CA 的文件執行類似的操作(查看 CA 的文件以獲取特定文件)。
一旦到位,重新載入apache。如果有問題,請檢查 /var/log/httpd/error.log。確保權限正確,即Apache使用者可以讀取上述文件,並且私鑰不能被其他人訪問。