1.拷貝證書文件到你的服務器
從你的客戶專區下載ICA(即 Intermediate Certificate Authority)證書文件(DigiCertCA.crt)和你的服務器證書文件( <你的域名>.crt),然後把它們拷貝到你的服務器上要存放證書和私鑰文件的路徑,並確保root用戶可讀。
2.查找Apache的配置文件並編輯
這個文件的位置因服務器而異,特別是你用了一個指定的路徑(special interface)來管理你的服務器配置。//本文轉自www.45it.com電腦軟硬件應用網
Apache配置文件通常在/etc/httpd。主配置文件常常以httpd.conf命名。在大多數情況下<VirtualHost>塊在httpd.conf文件的底部。有時<VirtualHost>塊則會存在於他們單獨的文件,並放置在類似/etc/httpd/vhost.d/或者/etc/httpd/sites/的目錄下,或者在名為ssl.conf的文件中。
如果你拿文本編譯器打開這個文件,你可以找到包含了Apache的設置的<VirtuaHost>塊。
3.配置<VirtualHost>塊識別SSL
如果你需要自己的站點通過加密的(https)和非加密(http)連接都能夠訪問的話,你需要每種連接類型配置一個虛擬主機(virtual host)。一定要拷貝一份已存在的非加密的虛擬主機,而後按照步驟4的描述把它配置成支持SSL。
如果你僅僅需要網站通過安全機制訪問,按照步驟4的描述配置已經存在的虛擬主機支持SSL。
4.配置<VirtualHost>塊為站點啟用SSL安全機制
下面是一個簡單的配置成支持SSL的虛擬主機例子。其中列出的粗體部分是必須添加的SSL配置。
<VirtualHost 192.168.0.1:443>DocumentRoot /var/www/html2ServerName www.yourdomain.comSSLEngine onSSLCertificateFile /path/to/your_domain_name.crtSSLCertificateKeyFile /path/to/your_private.keySSLCertificateChainFile /path/to/DigiCertCA.crt</VirtualHost>按照你的證書文件來調整文件名和路徑。
SSLCertificateFile <這裡應該是你的服務器證書文件> (例如:your_domain_name.crt)
SSLCertificateKeyFile <這裡應該是你在創建CSR時候生成的的密鑰文件>
SSLCertificateChainFile <這裡應該是 DigiCert 的ICA證書文件> (默認為DigiCertCA.crt)
5.在重新啟動Apache前先測試你的配置
通常,最好在重新啟動Apache之前測試你的Apache配置文件以防有錯,這是因為一旦你的配置文件存在語法錯誤,Apache就再啟動不起來了。運行下面的命令:(在一些系統上可能是apache2ctl)
apachectl configtest
6.重新啟動Apache
你可以用apachectl命令來停止和啟動帶SSL支持的Apache:
apachectl stop
apachectl start
提示:如果Apache不能啟動帶SSL支持,請嘗試用“apachectl startssl”替代“apachectl start”。如果只有在使用“apache startssl”時SSL支持才會加載,那我們建議你修改apache的啟動配置把SSL支持包含到正常的“apachectl start”命令中。要不然的話當服務器重啟時可能需要你通過“apachectl startssl”來手動重新啟動Apache。這經常會導致<IfDefine SSL>和</IfDefine>標記被移而關閉SSL相關的配置。
譯者注:在最新版本的Apache中apachctl腳本的startssl這個參數已經廢除。
排除故障:
1.如果你的網站可以被公眾訪問,我們的 SSL Certificate Tester(即SSL證書測試)工具能幫助你判斷通常可能會出現的問題。
2.求助遷移你的證書到另外的服務器或者是跨服務器的平台上,請查看這裡 OpenSSL export instructions (即OpenSSL導出指南)。
3.如果你為了符合PCI Compliance requirements (即PCI 兼容列表)需要禁用 SSL version 2 的兼容性時,你需要在你的Apache配置文件中添加下面的指令:
SSLCipherSuite HIGH:+MEDIUM:!SSLv2:!EXP:!ADH:!aNULL:!eNULL:!NULL
如果這條指令已經存在,你很可能需要修改這條指令來禁用SSL version 2。