wamp下 配置 apache 的ssl

2021-07-06 02:40:58 字數 4685 閱讀 6220

wamp開啟ssl

解決wamp5_1.7.4中apache啟動問題

1.#修改httpd.conf檔案

#去掉上面兩行前的"#"

2.#修改conf/extra/httpd-ssl.conf

sslcertificatefile "d:/wamp/apache2/bin/server.crt"

sslcertificatekeyfile "d:/wamp/apache2/bin/server.key"

3.#修改為你生成證書的檔案位置

documentroot "e:/www"  #修改 documentroot的值與httpd.conf檔案的documentroot保持一致.

4.#解決apache無法啟動

68:sslmutex  "file:d:/programfiles2003/wamp/wamp/apache2/logs/ssl_mutex"

#修改為68: sslmutex  default    

5.#把httpd-ssl.conf檔案中所的apache的路徑替換為你的apache的路徑

#到此配置檔案修改完畢

二,證書生成的方法

#命令列中進入apache/bin目錄下執行如下:

openssl req -config ../conf/openssl.cnf -new -out server.csr -keyout server.pem

提示輸入一系列的引數, 

...... 

country name (2 letter code) [au]: 

state or province name (full name) [some-state]: 

locality name (eg, city) : 

organization name (eg, company) [internet widgits pty ltd]: 

organizational unit name (eg, section) : 

common name (eg, your name) : 

email address : 

..... 

注:common name必須和httpd.conf中server name必須一致,否則apache不能啟動 

啟動apache時錯誤提示為:rsa server certificate commonname (cn) `koda' does not match server name!? 

#簽發證書

openssl rsa -in server.pem -out server.key

#生成金鑰檔案

openssl x509 -in server.csr -out server.crt -req -signkey server.key -days 365

#生成證書檔案

把  server.key,server.crt copy到conf資料夾下

補充:

重新命名server.key為server.key.org

執行命令 >openssl rsa -in server.key.org -out server.key

將產生的new key替換到原來的位置。

編輯httpd-ssl.conf,把 #sslpassphrasedialog  builtin注釋掉。

以上簽署證書僅僅做測試用,真正執行的時候,應該將csr傳送到乙個ca返回真正的用書.網上有些文件描述生成證書檔案的過程比較繁瑣,就是因為 

他們自己建立了乙個ca中心證書,然後再簽署server.csr. 

用openssl x509 -noout -text -in server.crt可以檢視證書的內容。證書實際上包含了public key. 

3. 配置httpd.conf. 

引用 在conf目錄下的ssl.conf檔案是關於ssl的配置,是httpd.conf的一部分。 

找到乙個443的虛擬主機配置項,如下: 

sslengine on 

sslcertificatefile conf/ssl.crt/server.crt 

sslcertificatekeyfile conf/ssl.key/server.key 

#sslcertificatechainfile conf/ssl.crt/ca.crt // 暫未啟用 

#...... 

documentroot "c:/wamp/www"  //**目錄 

servername www.my.com:443 

1). 看sslcertificatefile,sslcertificatekeyfile兩個配置項,所以應該在conf下建立兩個子目錄ssl.crt, ssl.key,然後把簽署過的證書檔案(.crt)和私鑰檔案(.key)放在相應的目錄 

2). 看documentroot,servername配置項,servername修改為任意你想要得網域名稱,注意:前面生成.csr時輸入的common name必須於這裡的servername項一致。 

這樣啟動apache後,訪問將訪問c:/programs/apache2/htdocs目錄下的內容。 

但是如果你想保留其他目錄的訪問仍然是http,那麼你應該把 

也改為

此時,即便servername是任意的,系統仍然正常執行,僅僅apache log提示"does not match server name" 

重新啟動apache

ok,恭喜你可以正常使用https來訪問你的站點了.

(以下沒有驗證,因為apache自帶了 openssl)

windows 下perl安裝與配置

配置過程中需要生成一些mak檔案,這些生成**用perl指令碼生成,所以要安裝乙個activeperl.

**:

安裝好之後,要去系統環境變數中配置,在path中加入  %perl安裝目錄%/bin;

windows 下openssl安裝與配置

1、進入解壓目錄。

>cd c:\openssl-0.9.8k

2、執行configure。

>perl configure vc-win32

如不成功會有明顯提示。

3、建立makefile檔案。

>ms\do_ms

推薦使用這種方式,另外兩種方式 如果使用也必須保證本機有編譯器才能使用。

4、配置vc環境變數。

>cd c:\program files\microsoft visual studio\vc98\bin

>vcvars32.bat

(注:如果執行出現error:cannot determine the location of the vs common tools folder. 直接用管理員身份執行  vcvars32.bat檔案即可)

5、編譯動態鏈結庫。

>cd c:\openssl-0.9.8k

>nmake -f ms\ntdll.mak

執行 nmake -f ms\ntdll.mak test.檢查上一部編譯是否成功。正常的話會執行編譯後的測試程式

至此openssl在windows下編譯完成,編譯得到的dll和lib檔案位置:靜態庫libeay32.lib和ssleay32.lib位於out32資料夾下,動態庫libeay32.dll,libeay32.lib,ssleay32.dll,ssleay32.lib位於out32dll資料夾下。

6、為vc新增標頭檔案和靜態鏈結庫路徑。

toolsàoptionsàdirectores,在include files中增加c:\openssl-0.9.8k \inc32目錄;在libray files中增加c:\openssl-0.9.8k\out32dll。

7、編寫openssl程式,可參考c:\openssl-0.9.8k\demos

(1)包含相應標頭檔案

#include

(2) 新增靜態鏈結庫

#pragma comment(lib, "libeay32.lib")

#pragma comment(lib, "ssleay32.lib")

或projectàsettingsàlinkàobject\library modules填寫libeay32.lib ssleay32.lib。

(3)將動態鏈結庫ssleay32.dll, libeay32.dll複製到c:\windows\system32或debug目錄下,確保動態鏈結庫在正確的路徑。

可能遇到的問題:

1、nmake : fatal error u1077: 'ml' : return code '0x1'

2、nmake : fatal error u1077: 'cl' : return code '0x2'

解決辦法:去掉ipv6(命令列中執行perl configure vc-win32 -dopenssl_use_ipv6=0)

3、fatal error lnk1103: debugging information corrupt; recompile module

解決辦法:去掉ms資料夾下對應檔案nt.mak或ntdll.mak檔案中/debug選項

apache在wamp下配置虛擬主機虛擬目錄

在wamp下常用的配置主機方法 先在httpd.conf裡面啟用httpd vhosts.conf,然後再httpd vhosts.conf裡面新增下圖左邊部分 然後在虛擬主機物理路徑下新增.htaccess檔案,在檔案裡面輸入下圖右邊部分 儲存。然後在c windows system32 driv...

wamp下開啟SSL,解決APACHE啟動問題

wamp開啟ssl 解決wamp5 1.7.4中apache啟動問題 1.修改httpd.conf檔案 去掉上面兩行前的 2.修改conf extra httpd ssl.conf sslcertificatefile d wamp apache2 bin server.crt sslcertifi...

黃wamp的Apache系列

在可執行目錄下找到httpd.exe命令,然後執行cmd,執行類似以下命令 就可以啟動服務了。如果埠被佔,有一下兩種解決方案 方法一 也可以通過 netstat a o 檢視埠占用情況,關閉呼叫相關埠的程序。方法二 通過 修改conf httpd.conf 中相應的監聽埠來處理。開啟apache 的...