6
我正在將我的單服務器tomcat遷移到羣集,通過Apache HTTPD(使用mod_proxy的反向代理)進行負載平衡和緩存。 是否有可能將證書和密鑰轉換爲apache格式,或者我必須重新發布整個事情?如何將SSL從Tomcat遷移到Apache HTTPD?
我正在將我的單服務器tomcat遷移到羣集,通過Apache HTTPD(使用mod_proxy的反向代理)進行負載平衡和緩存。 是否有可能將證書和密鑰轉換爲apache格式,或者我必須重新發布整個事情?如何將SSL從Tomcat遷移到Apache HTTPD?
用keytool
直接提取證書是相當容易的,提取私鑰有點麻煩(儘管你可以編寫程序來這樣做)。我建議使用keytool
和openssl
的組合。
如果您的密鑰庫採用PKCS#12格式(.p12文件),請跳過此步驟。將您的JKS庫到使用keytool
一個PKCS12商店(需要從Java版本6+)
keytool -importkeystore -srckeystore thekeystore.jks \
-srcstoretype JKS \
-destkeystore thekeystore.p12 \
-deststoretype PKCS12
然後,提取證書使用OpenSSL:已
openssl pkcs12 -in thekeystore.p12 -clcerts -nokeys -out servercert.pem
提取私鑰:
umask 0077
openssl pkcs12 -in thekeystore.p12 -nocerts -nodes -out serverkey.pem
umask 0022
請注意,因爲在提取私鑰時使用了-nodes
選項,所以私鑰文件將不受保護(因爲它不得有密碼才能成爲我們的用戶)可以通過Apache Httpd),所以確保沒有其他人可以閱讀它。
然後,分別使用SSLCertificateFile
和SSLCertificateKeyFile
配置Apache Httpd以分別指向證書文件和私鑰文件。
-srsstoretype應該是-scrstoretype – jramoyo 2013-08-06 06:40:46
@jramoyo,謝謝你發現這個錯字。 (您可能也可以直接建議編輯。) – Bruno 2013-08-06 06:56:18
不幸的是servercert.pem爲空(0字節)。任何提示? – 2015-04-17 12:45:22