首先看一下阿里云官方的教程:
文件說明:
1. 證書文件xxxxxx.pem,包含兩段內容,請不要刪除任何一段內容。
2. 如果是證書系統創建的CSR,還包含:證書私鑰文件xxxxxxxx.key、證書公鑰文件public.pem、證書鏈文件chain.pem。
( 1 ) 在Apache的安裝目錄下創建cert目錄,并且將下載的全部文件拷貝到cert目錄中。如果申請證書時是自己創建的CSR文件,請將對應的私鑰文件放到cert目錄下并且命名為xxxxxxxx.key;
( 2 ) 打開 apache 安裝目錄下 conf 目錄中的 httpd.conf 文件,找到以下內容并去掉“#”:
#LoadModule ssl_module modules/mod_ssl.so (如果找不到請確認是否編譯過 openssl 插件)#Include conf/extra/httpd-ssl.conf |
( 3 ) 打開 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/public.pem# 證書私鑰配置SSLCertificateKeyFile cert/xxxxxxx.key# 證書鏈配置,如果該屬性開頭有 '#'字符,請刪除掉SSLCertificateChainFile cert/chain.pem |
( 4 ) 重啟 Apache。
( 5 ) 通過 https 方式訪問您的站點,測試站點證書的安裝配置,如遇到證書不信任問題,請查看幫助視頻。
然而這只能參考。在Ubuntu下面,我是用apt安裝的Apache,但是它沒有httpd.conf,只有一個apache2.conf,好吧,其實這個文件和httpd.conf差不多,它里面是這樣注釋的:
# It is split into several files forming the configuration hierarchy outlined# below, all located in the /etc/apache2/ directory:## /etc/apache2/# |-- apache2.conf# | `-- ports.conf# |-- mods-enabled# | |-- *.load# | `-- *.conf# |-- conf-enabled# | `-- *.conf# `-- sites-enabled# `-- *.conf# |
這個版本的Apache把配置文件分散到了其他小文件中,結構就是上面那樣子的。你要是愿意的話,也可以自己寫一個httpd.conf然后include進去。
重點講一下https的配置,第一步,你要保證你外部環境的443端口是打開的。
第二步確保你安裝了ssl_module。沒有就apt-get install openssl ,可能還需要一些依賴,但是都是小問題。
然后打開ports.conf,以下幾句是不可少的:
<IfModule ssl_module> Listen 443</IfModule> <IfModule mod_gnutls.c> Listen 443</IfModule> |
接著打開mods-available,找到ssl.conf和ssl.load
ssl.load長這樣: