本文源自
http://raibledesigns.***/wiki/wiki.jsp?page=apachessl,並作了必要的修改,補充和簡化。在我的winxp+apache1.3.31下面測試通過
假定:你已經熟悉apache的安裝和配置
你對ssl安全連線的基本常識有一定了解
你對php有一定了解
不要混淆1.3和2.0版本的apache,不同的版本對應不同的mod_ssl。
修改httpd.conf的下列字段:
[將所有.my-server.dom
換成你自己的網域名稱!]
注:如果你是在自己的pc上進行測試的話,可以隨意在hosts檔案中新增一行網域名稱和本地ip的紀錄,然後用這個網域名稱進行測試。關於hosts檔案知識,請自行了解。
重啟apache服務。
開啟 http://.my-server.dom:443/. 此時連線並沒有加密但代表你的apache可以正常使用443埠。
2.: 取得openssl 和 mod_ssl
從openssl壓縮包裡拷貝ssleay32.dll和
libeay32.dll
到winnt/system32
. 大約有 70 % 的人因為沒有這樣做導致安裝失敗。
下列的說明來自 http://.apache-ssl./#faq.
注意:下列命令可以在cygwin裡面執行,也可以在解壓後的openssl-0.9.7d-win32.zip 執行(需要拷貝openssl.conf,如果執行不正確,在命令列後面加上-conf openssl.conf)
openssl req -new -out server.csr
這個語句建立乙個證書簽名請求和乙個私鑰。當系統提示"***mon name (eg, your websites domain name)"
, 給出精確的web伺服器名稱 (例如.my-server.dom)。如果和實際的名稱不符合,瀏覽器會報錯。
openssl rsa -in privkey.pem -out server.key
這個語句從私鑰移除 passphrase。server.key
只能被 apache 和 administrator管理。刪除.rnd
檔案,它可能被利用來攻擊私鑰。
openssl x509 -in server.csr -out server.crt -req -signkey server.key -days 365
這個語句建立自簽名的證書,你可以使用這個直到你從權威機構得到了乙個 真實證書。你可以擴大 -days 365 的引數,以避免一年以後過期。
建立乙個目錄apache/conf/ssl
並拷貝server.key
和server.crt
.對於linux建立兩個目錄ssl.key
和ssl.crt
. 拷貝server.crt
到ssl.crt
;拷貝server.key
到ssl.key。
定位loadmodule指令在httpd.conf
檔案的位置。增加下列指令:
loadmodule ssl_module modules/mod_ssl.so
在addmodule 指令部分的最後面加上
addmodule mod_ssl.c
從openssl原始檔裡拷貝
在httpd.conf的最後增加以下指令
如果配置檔案裡ifdefine指令有效,則執行apache的時候要加上-d ssl
引數。
注意: 使用多個虛擬主機的時候,必須用基於ip的配置,因為ssl需要配置乙個指定埠443,如果使用了基於名字的指令(對於所有埠)則apache伺服器會報錯
[error] virtualhost _default_:443 -- mixing * ports and non-* ports with a namevirtualhost address is not supported, proceeding with undefined results
啟動apache伺服器,如果順利的話你會看到
d:/apache>apache -d ssl
[tue oct 19 22:18:32 2004] [warn] loaded dso d:/apache/php/sapi/php4apache.dll u
ses plain apache 1.3 api, this module might crash under eapi! (please re***pile
it with -deapi)
apache/1.3.31 (win32) mod_ssl/2.8.19 openssl/0.9.7d php/4.3.6 running...
如果不能正確啟動,仔細看螢幕提示,你會從中得到解決的辦法。
如果一切順利,那麼,開啟ie,訪問https://localhost
Win32 平台 C socket 程式設計練習
使用c 實現win32平台的tcp ip網路程式設計,練習socket的使用。服務端 include include const unsigned short listen port 8700 int main int argc,char argv using namespace std word ...
可用於Win32平台的flex bison
雖然flex bison是linux世界的東東,有些情況下卻需要在windows上使用它們,自己用mingw編譯flex和bison又沒那個能力,只好找一些第三方的port,好在終於讓我找到了乙個,雖然比較老,但是用於學習編譯原理還是夠了 檔名url flex.exe bison.exe bison...
win32控制台 win32工程 MFC工程的區別
空專案 控制台 問2個問題即可。1.控制台 vs win32 mfc?嗯,有不有臉?有臉,選win32或mfc。沒有臉,選控制台。臉就是視窗,就是window.s 這個有臉 這個沒臉 控制台與win32 mfc 互動方式的不同,前者是cml 命令模式 後者是gui 使用者介面 2.mfc vs wi...