2012-06-05

啟用 Windows 版本 Apache 2.2.15 的 SSL

先安裝 httpd-2.2.15-win32-x86-openssl-0.9.8m-r2.msi。

啟用過程分成三部份:修改設定檔、建立目錄與檔案、以及產生憑證。

修改設定檔

有三個檔案要做修改,分別為 conf/httpd.conf、conf/extra/https-ssl.conf 與 conf/openssl.cnf。

conf/httpd.conf
  • 啟用 SSL Module - 拿掉 LoadModule ssl_module modules/mod_ssl.so 前的 #。
  • 啟用 SSL Module 設定檔 - 拿掉 Include conf/extra/httpd-ssl.conf 前的 #。
conf/extra/https-ssl.conf
  • 修改 SSLMutex default 為 SSLMutex none
  • 確認 <VirtualHost _default_:443> 裡的設定值無誤。
  • 設定 SSLCertificateFile "[apache-2.2.15]/conf/ssl/server.crt"
  • 設定 SSLCertificateKeyFile "[apache-2.2.15]/conf/ssl/server.key"
conf/openssl.cnf
  • 修改 [ CA_default ] 的 dir 為 ./ssl


建立目錄與檔案
  • 建立目錄 [apache-2.2.15]/bin/ssl。
  • 建立目錄 [apache-2.2.15]/bin/ssl/newcerts。
  • 建立檔案 [apache-2.2.15]/bin/ssl/index.txt,空檔案。
  • 建立檔案 [apache-2.2.15]/bin/ssl/serial,內容填上01。
  • 複製 conf/openssl.cnf 到 bin 下,方便使用而已。


產生憑證

切換目錄到 [apache-2.2.15]/bin,依序執行以下的指令:
  • openssl genrsa -des3 -out ssl/ca.key 1024
    • 要設定密碼,這個密碼後續所有指令都要用。
  • openssl req -config openssl.cnf -new -key ssl/ca.key -out ssl/ca.csr
    • 只有 Common Name 一定要輸入,其他可輸入或用預設值
  • openssl x509 -days 3650 -req -signkey ssl/ca.key -in ssl/ca.csr -out ssl/ca.crt
  • openSSL genrsa -out ssl/server.key 1024
  • openssl req -config openssl.cnf -new -key ssl/server.key -out ssl/server.csr
    • 只有 Common Name 一定要輸入,其他可輸入或用預設值
  • openssl ca -config openssl.cnf -days 3650 -cert ssl/ca.crt -keyfile ssl/ca.key -in ssl/server.csr -out ssl/server.crt 
完成後, [apache-2.2.15]/bin/ssl 裡應該要有 11 個檔案和 1 個目錄,最後將整個 ssl 目錄搬到 [apache-2.2.15]/conf 下,啟動 Apache 連到 https://localhost/。


參考來源:【快樂很多的電腦技術筆記】

沒有留言:

張貼留言