Apache服務器安裝SSL證書
在證書控制台下載Apache版本證書,下載到本地的是一個壓縮文件,解壓后里面包含_public.crt文件是證書文件,_chain.crt是證書鏈(中間證書)文件,.key文件是證書的私鑰文件(申請證書時如果沒有選擇系統創建CSR,則沒有該文件)。
友情提示: .crt擴展名的證書文件采用Base64-encoded的PEM格式文本文件,可根據需要,修改成.pem等擴展名。
以Apache標准配置為例,假如證書文件名是a_public.crt,證書鏈文件是a_chain.crt,私鑰文件是a.key。
操作步驟
-
在Apache的安裝目錄下創建cert目錄,並且將下載的全部文件拷貝到cert目錄中。如果申請證書時是自己創建的CSR文件,請將對應的私鑰文件放到cert目錄下並且命名為a.key;
-
打開 apache 安裝目錄下 conf 目錄中的 httpd.conf 文件,找到以下內容並去掉“#”。
放大查看
#LoadModule ssl_module modules/mod_ssl.so (如果找不到請確認是否編譯過 openssl 插件)#Include conf/extra/httpd-ssl.conf(刪除行首的配置語句注釋符號“#”,保存后退出)
-
打開 apache 安裝目錄下 conf/extra/httpd-ssl.conf 文件 (也可能是conf.d/ssl.conf,與操作系統及安裝方式有關), 在配置文件中查找以下配置語句:
放大查看
# 添加 SSL 協議支持協議,去掉不安全的協議SSLProtocol all -SSLv2 -SSLv3
修改加密套件如下SSLCipherSuite HIGH:!RC4:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!EXP:+MEDIUMSSLHonorCipherOrder on# 證書公鑰配置SSLCertificateFile cert/a_public.crt
證書私鑰配置SSLCertificateKeyFile cert/a.key
證書鏈配置,如果該屬性開頭有 '#'字符,請刪除掉SSLCertificateChainFile cert/a_chain.crt
4. 重啟 Apache。
放大查看
apachectl -k stop
apachectl -k start