Apache服務器安裝SSL證書

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:+MEDIUM
SSLHonorCipherOrder on
# 證書公鑰配置
SSLCertificateFile cert/a_public.crt
# 證書私鑰配置
SSLCertificateKeyFile cert/a.key
# 證書鏈配置,如果該屬性開頭有 '#'字符,請刪除掉
SSLCertificateChainFile cert/a_chain.crt
重啓 Apache。

apachectl -k stop
apachectl -k start


出現問題
1.AH00526: Syntax error on line 75 of /alidata/server/httpd/conf/extra/httpd-ssl.conf:
SSLSessionCache: 'shmcb' session cache not supported (known names: ). Maybe you need to load the appropriate socache module (mod_socache_shmcb?)

解決方法  1.到配置httpd.conf文件中,然後將"LoadModule socache_shmcb_module modules/mod_socache_shmcb.so"前面的#備註表示去掉掉。(如果還是報錯採用方法2)

          2. 將文件第75行:SSLSessionCache        "shmcb:/usr/local/apache/logs/ssl_scache(512000)"

         改爲:SSLSessionCache         nonenotnull 

出現問題
file '/alidata/server/httpd/conf/server.crt' does not exist or is empty
在配置文件中將 語句 SSLCertificateKeyFile "/alidata/server/httpd/conf/server.key" 加#註釋掉
 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章