標籤:伺服器 apache https openssl
1、下載帶有openSSL的apache安裝包,我下載的為apache_2.2.11-win32-x86-openssl-0.9.8i.msi,安裝後確認一下bin路徑下的openssl.exe,ssleay32.dll和libeay32.dll,無誤進行下一步。
2、修改兩個設定檔,一個為conf/httpd.conf,另一個為conf/extra/httpd-ssl.conf
(a)修改httpd.conf
為了使apache啟動的時候調用ssl的服務,我們需要在設定檔中做一些修改。找到以下兩句話並去掉注釋,則可以開啟apache的時候啟動ssl服務:
#LoadModule ssl_module modules/mod_ssl.so
#Include conf/extra/httpd-mpm.conf
(b)修改httpd-ssl.conf
修改的主要是我們產生的認證的路徑(我把路徑設定為conf下的key目錄,把產生的認證放進這個目錄,接下來會說怎麼產生)
SSLCertificateFile xxx/conf/key/server.crt (伺服器憑證的位置)
SSLCertificateKeyFile xxx/conf/key/server.key (伺服器私密金鑰的位置)
SSLCACertificateFile xxx/key/conf/ca.crt (CA根憑證的位置,進行用戶端驗證時需要)
#SSLVerifyClient require (去掉前面的‘#’號,進行用戶端驗證時需要)
#SSLVerifyDepth 1 (去掉前面的‘#’號,把10改為1,進行用戶端驗證時需要)
開啟httpd-ssl.conf,ctrl+f 搜關鍵字修改就可以了。
3、產生服務端和用戶端的認證
win+R:cmd進入命令列,進去apache安裝目錄的bin檔案夾,執行命令設定一下openssl的配置:setOPENSSL_CONF=..\conf\openssl.cnf
(a)產生服務端的私匙
執行命令:openssl gensa -out server.key 1024,在目錄bin下產生server.key檔案
(b)產生簽署申請
執行命令:
openssl req -new -out server.csr -key server.key -conf..\conf\openssl.cnf,在目錄bin下產生server.csr檔案,這個過程中要填入一些資訊,按照提示要求填就可以了,但是要記住Common Name必須和httpd.conf中的serverName一致,不然apache啟動的時候會報錯。
(c)產生CA私匙
執行命令:openssl gensa -out ca.key 1024,在目錄bin下產生ca.key檔案
(d)產生CA產生自簽署認證
執行命令:openssl req -new -x509 -days 365 -key ca.key -out ca.crt -conf..\conf\openssl.cnf,在目錄bin下產生ca.crt檔案
(e)產生CA的伺服器簽署認證
執行命令:
openssl ca -in server.csr -out server.crt -cert ca.crt -keyfile ca.key -conf..\conf\openssl.cnf我在這裡報錯了,按照網上的說法,在目前的目錄下建立一個demoCA目錄,在裡面建立一個index.txt空檔案,一個名為serial,內容為01的檔案,以及一個檔案夾newcerts,再執行一次就可以了
4、把當前檔案夾中的server.crt,server.key和ca.crt檔案複製到步驟2所說的目錄conf/key下
5、為了方便,我把httpd.conf和httpd-ssl.conf檔案中的ServerName分別改為
127.0.0.1:8080 (有些軟體會佔用80這個連接埠,所以改成8080)
127.0.0.1:443
6、重啟apache,執行兩個命令
net stop Apache2.2和
net start Apache2.2,假如遇到apache無法啟動的時候,可以選我的電腦-》管理-》事件檢查器-》應用程式記錄檔,開啟apache的錯誤報表,會有提示哪裡出錯了,一般都可以找到原因。
7、開啟IE,輸入127.0.0.1:8080出現It works。輸入https://127.0.0.1:443的時候會彈出一個驗證認證的地方,點擊取消發現沒能成功。上網查了一下,原來還要產生一個 .pfx 的認證並匯入到IE中去。
開啟剛才的命令列,執行命令
openssl pkcs12 -export -in ca.crt -inkey ca.key -out ca.pfx,在bin下面產生一個ca.pfx的檔案,中間有個輸入密碼的過程,要記住這個密碼。開啟IE瀏覽器-》工具-》Internet選項-》內容-》認證,按照提示匯入,這裡要輸入剛才產生 .pfx 過程中輸入的密碼。匯入之後,開啟瀏覽器輸入https://127.0.0.1:443出現 It works。搞掂!!!
(註:本文為我在搭建環境中的大概過程,純粹記錄一下工作過程,並不深入理解各個點)
windows下面配置apache+https(利用SSL)伺服器