Apache-2.2
Apache 已棄用的 SSLCertificateChainFile 指令 (AH02559)
最近我已將 Apache 從 2.2 升級到 2.4,但我不知道如何棄用
SSLCertificateChainFile
指令。錯誤:
me@jessie:~$ sudo apache2ctl configtest AH02559: The SSLCertificateChainFile directive (/etc/apache2/sites-enabled/https.conf:103) is deprecated, SSLCertificateFile should be used instead Syntax OK
我目前的設置:
SSLCertificateFile /etc/apache2/cert/ssl.crt SSLCertificateKeyFile /etc/apache2/cert/ssl.key SSLCertificateChainFile /etc/apache2/cert/sub.class1.server.sha2.ca.pem SSLCACertificateFile /etc/apache2/cert/ca.pem
證書由 StartCOM 簽名。手冊說,現在整個鏈應該在一個文件中,由
SSLCertificateFile
指令指定,但我不知道我應該連接到這個文件的鍵和順序。
鑑於您在 apache 配置中使用它:
SSLCertificateFile /etc/apache2/cert/ssl.crt SSLCertificateKeyFile /etc/apache2/cert/ssl.key
該
/etc/apache2/cert/ssl.crt
文件應包含
- 例如 yourdomain.com 的證書
- 第一個中間 CA 的證書,由根 CA 簽名(例如StartCom Class 1 Primary Intermediate Server CA)
- 第二個中間 CA 的證書,由第一個中間 CA 簽名(如果您的證書鏈中有第二個中間 CA)
您需要將所有中間 CA 的證書放在 crt 文件中。根據您的證書的證書鏈,將涉及不同數量的 CA。
您甚至不需要添加根 CA,因為它必須在任何客戶端的信任庫中,否則客戶端將收到錯誤頁面,此外,如果您將其添加到您的鏈中,這將只是額外的成本建立 SSL 連接,因為它必須為每個新的 SSL 會話傳輸。實際上大多數客戶端也會安裝中間CA證書,但有些可能沒有,例如手機沒有很多中間CA證書,所以我肯定會添加這些。
該
/etc/apache2/cert/ssl.key
文件將保持不變,也就是說,它將包含 yourdomain.com 證書的密鑰