幫助中心
香港服務(wù)器租用幫助
香港Apache服務(wù)器配置SSL詳解
2018-07-05 15:34:43

1.安裝必要的軟件?

引用?

用的是apahce2.0.61版,可以直接官方提供的綁定openssl的apache.?

文件名是:apache_2.0.61-win32-x86-openssl-0.9.7m.msi?

否則單獨(dú)安裝windows下的openssl比較麻煩,要么找到一個第三方的編譯結(jié)果,要么自己編譯?

2. 生成服務(wù)器證書?

引用?

安裝好在bin目錄下有一個 openssl.exe文件,用來生成證書和密鑰。?

1). 生成服務(wù)器用的私鑰文件server.key?

進(jìn)入conf目錄,執(zhí)行命令行?

openssl genrsa -out server.key 1024?

有文檔指出使用 openssl genrsa -des3 -out server.key 1024 生成私鑰文件,這樣生成的私鑰文件是需要口令的。?

Apache啟動失敗,錯誤提示是:Init: SSLPassPhraseDialog builtin is not supported on Win32 (key file .....)?

原因是window下的apache不支持加密的私鑰文件。?

2). 生成未簽署的server.csr?

進(jìn)入conf目錄,執(zhí)行命令行?

openssl req -new -key server.key -out server.csr -config openssl.cnf?

提示輸入一系列的參數(shù),?

......?

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!??

3). 簽署服務(wù)器證書文件server.crt?

進(jìn)入conf目錄,執(zhí)行命令行?

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

以上簽署證書僅僅做測試用,真正運(yùn)行的時候,應(yīng)該將CSR發(fā)送到一個CA返回真正的用書.網(wǎng)上有些文檔描述生成證書文件的過程比較繁瑣,就是因?yàn)?

他們自己建立了一個CA中心證書,然后再簽署server.csr.?

用openssl x509 -noout -text -in server.crt可以查看證書的內(nèi)容。證書實(shí)際上包含了Public Key.?

3. 配置httpd.conf.?

引用?

在conf目錄下的ssl.conf文件是關(guān)于ssl的配置,是httpd.conf的一部分。?

找到一個443的虛擬主機(jī)配置項(xiàng),如下:?

SSLEngine On?

SSLCertificateFile conf/ssl.crt/server.crt?

SSLCertificateKeyFile conf/ssl.key/server.key?

#SSLCertificateChainFile conf/ssl.crt/ca.crt // 暫未啟用?

#......?

DocumentRoot "C:/programs/Apache2/htdocs"?

ServerName www.my.com:443

1). 看SSLCertificateFile,SSLCertificateKeyFile兩個配置項(xiàng),所以應(yīng)該在conf下建立兩個子目錄ssl.crt, ssl.key,然后把簽署過的證書文件(.crt)和私鑰文件(.key)放在相應(yīng)的目錄?

2). 看DocumentRoot,ServerName配置項(xiàng),ServerName修改為任意你想要得域名,注意:前面生成.csr時輸入的Common Name必須于這里的ServerName項(xiàng)一致。?

這樣啟動apache后,訪問https://www.my.com將訪問C:/programs/Apache2/htdocs目錄下的內(nèi)容。?

但是如果你想保留其他目錄的訪問仍然是http,那么你應(yīng)該把?

也改為 ?

此時,即便ServerName是任意的,系統(tǒng)仍然正常運(yùn)行,僅僅Apache log提示"does NOT match server name"?

3). 移除注釋行?

LoadModule ssl_module modules/mod_ssl.so?

注意到ssl.conf的配置都在標(biāo)簽中,所以為了使IfDefine 指令有效,運(yùn)行apache 的時候要加上 -D SSL 參數(shù)。?

引用?

apache -D SSL -k start

USA-IDC提供全新ssl企業(yè)級安全證書簽發(fā),提高seo效果歡迎廣大用戶聯(lián)系24小時在線客戶租用

新客優(yōu)惠
特價 酷睿i3系列
性價比熱銷推薦,年銷量第一
1180/月起
USA-IDC為您提供免備案服務(wù)器 0元試用
立即聯(lián)系在線客服,即可申請免費(fèi)產(chǎn)品試用服務(wù)
立即申請