window下為apache配置ssl證書

2022-05-04 01:06:12 字數 4494 閱讀 7587

啟動模組比較簡單,開啟apache的配置檔案conf/httpd.conf,去掉ssl模組前面的#

malinlin.cn.key,兩個檔案,在conf下建立個ssl資料夾存放證書。將原先conf/extra/httpd-ssl.conf備份後,新建乙個httpd-ssl.conf。以下是我為蛋總配置的:

listen 443

sslciphersuite high:medium:!anull:!md5

sslpassphrasedialog builtin

documentroot "c:/wamp/www"

servername malinlin.cn:443

serveradmin [email protected]

errorlog "c:/wamp/bin/apache/apache2.2.22/logs/ssl-error.log"

transferlog "c:/wamp/bin/apache/apache2.2.22/logs/sll-access.log"

sslengine on

sslcertificatefile "c:/wamp/bin/apache/apache2.2.22/conf/ssl/malinlin.cn.crt"

sslcertificatekeyfile "c:/wamp/bin/apache/apache2.2.22/conf/ssl/malinlin.cn.key"

sslcertificatechainfile "c:/wamp/bin/apache/apache2.2.22/conf/ssl/malinlin.cn.crt"

如果想在原先httpd-sll.conf修改也行,記得將這三行注釋掉。沒有注釋的話啟動wamp會是失敗的枯黃色。

#sslsessioncache         "dbm:d:/wamp/bin/apache/apache2.4.9/logs/ssl_scache"

#sslsessioncache "shmcb:d:/wamp/bin/apache/apache2.4.9/logs/ssl_scache(512000)"

#sslsessioncachetimeout 300

配置好後重啟wamp,重啟完畢後,瀏覽器就可以訪問了。

如果到這已經解決你的問題了,那就沒必要往下看了,下面是介紹沒有證書的情況下也能體驗,我們強大的openssl也是可以生成證書的,之後訪問https://localhost(哎,什麼網域名稱都是ok的啦)

1、使用dos命令進入apache bin目錄

因為該目錄才有libeay32.dllopenssl.exessleay32.dll等檔案。

2、設定openssl環境變數

使用dos命令在bin目錄下執行命令:set openssl_conf=..\conf\openssl.cnf,通過此命令設定openssl的環境變數,如果不執行此命令,後面的操作會報錯。

set openssl_conf=..\conf\openssl.cnf

3、生成server.key

dos下執行命令:openssl genrsa 4096 > server.key,執行了這個命令,會在bin目錄下生成server.key。注釋:這是使用128位的rsa演算法生成的金鑰,還可以使用其他的演算法生成金鑰,相關的用法可以使用搜尋引擎搜尋。4096是金鑰的長度,這個值最好使用4096以上的值,必須是2的整數次方。

openssl genrsa 4096 > server.key

4、生成未簽署的server.csr

dos命令下執行:openssl req -new -key server.key > server.csr,這個命令使用生成的金鑰檔案 server.key生成證書請求檔案server.csr,執行這一命令之後,後面還要輸入很多引數。

openssl req -new -key server.key > server.csr

country name (2 letter code) [au]:cn iso國家**(只支援兩位字元)

state or province name (full name) [some-state]:hu bei 所在省份

locality name (eg, city) :wu han 所在城市

organization name (eg, company) [internet widgits pty ltd]:mark company 公司名稱

organizational unit name (eg, section) :it 組織名稱

common name (e.g. server fqdn or your name) :www.phpmarker.com 申請證書的網域名稱

email address :[email protected] 管理員郵箱

please enter the following 『extra』 attributes

to be sent with your certificate request

a challenge password : 交換金鑰 可空

an optional company name : 可空

5、簽署伺服器證書檔案server.crt

dos命令下執行:openssl req -x509 -days 365 -key server.key -in server.csr > server.crt,這個命令使用第三步和第四步生成的金鑰和證書來生成證書server.crt,-days引數表示證書有效期,單位為天,x509表示生成的是x.509證書。

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

6、檢視證書詳細資訊

dos下執行命令:openssl x509 -noout -text -in server.crt,這個命令可以檢視證書的詳細資訊

openssl x509 -noout -text -in server.crt

7、開始部署

執行上面所有的命令之後,在apache的bin目錄下生成了三個檔案server.keyserver.csrserver.crt。可以將其移動到專門放證書的資料夾。

修改httpd-ssl.conf,以下是我的配置:

listen 443

sslciphersuite high:medium:!anull:!md5

sslpassphrasedialog builtin

#sslsessioncache "dbm:d:/wamp/bin/apache/apache2.4.9/logs/ssl_scache"

#sslsessioncache "shmcb:d:/wamp/bin/apache/apache2.4.9/logs/ssl_scache(512000)"

#sslsessioncachetimeout 300

documentroot "e:/kuaipan/code/win_www"

servername localhost:443

serveradmin [email protected]

errorlog "d:/wamp/bin/apache/apache2.4.9/logs/ssl-error.log"

transferlog "d:/wamp/bin/apache/apache2.4.9/logs/sll-access.log"

sslengine on

sslcertificatefile "d:/wamp/bin/apache/apache2.4.9/conf/ssl/server.crt"

sslcertificatekeyfile "d:/wamp/bin/apache/apache2.4.9/conf/ssl/server.key"

sslcertificatechainfile "d:/wamp/bin/apache/apache2.4.9/conf/ssl/server.crt"

8、重啟apache伺服器

重啟後瀏覽器訪問https://localhost

可用,但是https是個叉,不像上面的圖是綠色的。出現這種情況,因為我們自己製作的證書,不被瀏覽器所信賴。我們檢視證書詳細情況:

windows下為apache配置https

前面為 tomcat 配置好了證書,接下來就是為 apache 配置證書。這裡先宣告幾點,第一,很多教程都是先配置 apache 再來生成證書,其實不用,證書用前面生成好的就可以,只要在 apache 中新增幾行 就行了。第二,證書有很多不同的表現形式,在 windows 下看字尾就可以了,甚至很多...

windows下為apache配置多個站點

安裝好apache以後,可以在瀏覽器中輸入http localhost測試.更改第乙個站點的根目錄 在檔案apache2.2 conf httpd.conf中查詢 documentroot 屬性,將後面的路徑改為你的主站點的路徑,如 d www web1 為第二個apache服務建立配置檔案 複製並...

windows下為apache配置多個站點

安裝好apache以後,可以在瀏覽器中輸入http localhost測試.更改第乙個站點的根目錄 在檔案apache2.2 conf httpd.conf中查詢 documentroot 屬性,將後面的路徑改為你的主站點的路徑,如 d www web1 為第二個apache服務建立配置檔案 複製並...