国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網站 > Apache > 正文

Apache SSL服務器配置SSL詳解

2024-08-27 18:29:53
字體:
來源:轉載
供稿:網友
1.安裝必要的軟件
引用
我用的是apahce2.0.61版,可以直接官方提供的綁定openssl的apache.
文件名是:apache_2.0.61-win32-x86-openssl-0.9.7m.msi

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

2. 生成服務器證書
引用
安裝好在bin目錄下有一個 openssl.exe文件,用來生成證書和密鑰。
1). 生成服務器用的私鑰文件server.key
進入conf目錄,執行命令行
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
進入conf目錄,執行命令行
openssl req -new -key server.key -out server.csr -config openssl.cnf
提示輸入一系列的參數,
......
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). 簽署服務器證書文件server.crt
進入conf目錄,執行命令行
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt

以上簽署證書僅僅做測試用,真正運行的時候,應該將CSR發送到一個CA返回真正的用書.網上有些文檔描述生成證書文件的過程比較繁瑣,就是因為
他們自己建立了一個CA中心證書,然后再簽署server.csr.

用openssl x509 -noout -text -in server.crt可以查看證書的內容。證書實際上包含了Public Key.

3. 配置httpd.conf.
引用
在conf目錄下的ssl.conf文件是關于ssl的配置,是httpd.conf的一部分。
找到一個443的虛擬主機配置項,如下:
<VirtualHost _default_:443>
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 :443
</VirtualHost>
1). 看SSLCertificateFile,SSLCertificateKeyFile兩個配置項,所以應該在conf下建立兩個子目錄ssl.crt, ssl.key,然后把簽署過的證書文件(.crt)和私鑰文件(.key)放在相應的目錄
2). 看DocumentRoot,ServerName配置項,ServerName修改為任意你想要得域名,注意:前面生成.csr時輸入的Common Name必須于這里的ServerName項一致。
這樣啟動apache后,訪問https://www.my.com將訪問C:/programs/Apache2/htdocs目錄下的內容。
但是如果你想保留其他目錄的訪問仍然是http,那么你應該把
<VirtualHost _default_:443> 也改為 <VirtualHost :443>
此時,即便ServerName是任意的,系統仍然正常運行,僅僅Apache log提示"does NOT match server name"
3). 移除注釋行
LoadModule ssl_module modules/mod_ssl.so

注意到ssl.conf的配置都在標簽<IfDefine SSL>中,所以為了使IfDefine 指令有效,運行apache 的時候要加上 -D SSL 參數。

引用
apache -D SSL -k start
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 鄄城县| 东丰县| 留坝县| 华坪县| 瑞丽市| 丽江市| 凤凰县| 淮北市| 泸水县| 本溪| 忻城县| 车险| 渑池县| 房产| 静海县| 松原市| 沈阳市| 曲沃县| 阿拉善左旗| 百色市| 亳州市| 肃宁县| 金秀| 米林县| 崇明县| 昭通市| 句容市| 溧阳市| 丹寨县| 静宁县| 密云县| 黎城县| 焦作市| 灵山县| 福清市| 昌平区| 泽州县| 铁岭市| 贵溪市| 苗栗县| 东阿县|