windows下面配置apache+https(利用SSL)伺服器

來源:互聯網
上載者:User

標籤:伺服器   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.2net 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)伺服器

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.