Apache SSL服務(wù)器配置SSL詳解
更新時(shí)間:2010年06月21日 14:42:23 作者:
Apache SSL服務(wù)器配置SSL詳解,需要的朋友可以參考下。
1.安裝必要的軟件
引用
我用的是apahce2.0.61版,可以直接官方提供的綁定openssl的apache.
文件名是:apache_2.0.61-win32-x86-openssl-0.9.7m.msi
否則單獨(dú)安裝windows下的openssl比較麻煩,要么找到一個(gè)第三方的編譯結(jié)果,要么自己編譯
2. 生成服務(wù)器證書(shū)
引用
安裝好在bin目錄下有一個(gè) openssl.exe文件,用來(lái)生成證書(shū)和密鑰。
1). 生成服務(wù)器用的私鑰文件server.key
進(jìn)入conf目錄,執(zhí)行命令行
openssl genrsa -out server.key 1024
有文檔指出使用 openssl genrsa -des3 -out server.key 1024 生成私鑰文件,這樣生成的私鑰文件是需要口令的。
Apache啟動(dòng)失敗,錯(cuò)誤提示是: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不能啟動(dòng)
啟動(dòng)apache時(shí)錯(cuò)誤提示為:RSA server certificate CommonName (CN) `Koda' does NOT match server name!?
3). 簽署服務(wù)器證書(shū)文件server.crt
進(jìn)入conf目錄,執(zhí)行命令行
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
以上簽署證書(shū)僅僅做測(cè)試用,真正運(yùn)行的時(shí)候,應(yīng)該將CSR發(fā)送到一個(gè)CA返回真正的用書(shū).網(wǎng)上有些文檔描述生成證書(shū)文件的過(guò)程比較繁瑣,就是因?yàn)?
他們自己建立了一個(gè)CA中心證書(shū),然后再簽署server.csr.
用openssl x509 -noout -text -in server.crt可以查看證書(shū)的內(nèi)容。證書(shū)實(shí)際上包含了Public Key.
3. 配置httpd.conf.
引用
在conf目錄下的ssl.conf文件是關(guān)于ssl的配置,是httpd.conf的一部分。
找到一個(gè)443的虛擬主機(jī)配置項(xiàng),如下:
<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 www.my.com:443
</VirtualHost>
1). 看SSLCertificateFile,SSLCertificateKeyFile兩個(gè)配置項(xiàng),所以應(yīng)該在conf下建立兩個(gè)子目錄ssl.crt, ssl.key,然后把簽署過(guò)的證書(shū)文件(.crt)和私鑰文件(.key)放在相應(yīng)的目錄
2). 看DocumentRoot,ServerName配置項(xiàng),ServerName修改為任意你想要得域名,注意:前面生成.csr時(shí)輸入的Common Name必須于這里的ServerName項(xiàng)一致。
這樣啟動(dòng)apache后,訪問(wèn)https://www.my.com將訪問(wèn)C:/programs/Apache2/htdocs目錄下的內(nèi)容。
但是如果你想保留其他目錄的訪問(wèn)仍然是http,那么你應(yīng)該把
<VirtualHost _default_:443> 也改為 <VirtualHost www.my.com:443>
此時(shí),即便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 SSL>中,所以為了使IfDefine 指令有效,運(yùn)行apache 的時(shí)候要加上 -D SSL 參數(shù)。
引用
apache -D SSL -k start
引用
我用的是apahce2.0.61版,可以直接官方提供的綁定openssl的apache.
文件名是:apache_2.0.61-win32-x86-openssl-0.9.7m.msi
否則單獨(dú)安裝windows下的openssl比較麻煩,要么找到一個(gè)第三方的編譯結(jié)果,要么自己編譯
2. 生成服務(wù)器證書(shū)
引用
安裝好在bin目錄下有一個(gè) openssl.exe文件,用來(lái)生成證書(shū)和密鑰。
1). 生成服務(wù)器用的私鑰文件server.key
進(jìn)入conf目錄,執(zhí)行命令行
openssl genrsa -out server.key 1024
有文檔指出使用 openssl genrsa -des3 -out server.key 1024 生成私鑰文件,這樣生成的私鑰文件是需要口令的。
Apache啟動(dòng)失敗,錯(cuò)誤提示是: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不能啟動(dòng)
啟動(dòng)apache時(shí)錯(cuò)誤提示為:RSA server certificate CommonName (CN) `Koda' does NOT match server name!?
3). 簽署服務(wù)器證書(shū)文件server.crt
進(jìn)入conf目錄,執(zhí)行命令行
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
以上簽署證書(shū)僅僅做測(cè)試用,真正運(yùn)行的時(shí)候,應(yīng)該將CSR發(fā)送到一個(gè)CA返回真正的用書(shū).網(wǎng)上有些文檔描述生成證書(shū)文件的過(guò)程比較繁瑣,就是因?yàn)?
他們自己建立了一個(gè)CA中心證書(shū),然后再簽署server.csr.
用openssl x509 -noout -text -in server.crt可以查看證書(shū)的內(nèi)容。證書(shū)實(shí)際上包含了Public Key.
3. 配置httpd.conf.
引用
在conf目錄下的ssl.conf文件是關(guān)于ssl的配置,是httpd.conf的一部分。
找到一個(gè)443的虛擬主機(jī)配置項(xiàng),如下:
<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 www.my.com:443
</VirtualHost>
1). 看SSLCertificateFile,SSLCertificateKeyFile兩個(gè)配置項(xiàng),所以應(yīng)該在conf下建立兩個(gè)子目錄ssl.crt, ssl.key,然后把簽署過(guò)的證書(shū)文件(.crt)和私鑰文件(.key)放在相應(yīng)的目錄
2). 看DocumentRoot,ServerName配置項(xiàng),ServerName修改為任意你想要得域名,注意:前面生成.csr時(shí)輸入的Common Name必須于這里的ServerName項(xiàng)一致。
這樣啟動(dòng)apache后,訪問(wèn)https://www.my.com將訪問(wèn)C:/programs/Apache2/htdocs目錄下的內(nèi)容。
但是如果你想保留其他目錄的訪問(wèn)仍然是http,那么你應(yīng)該把
<VirtualHost _default_:443> 也改為 <VirtualHost www.my.com:443>
此時(shí),即便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 SSL>中,所以為了使IfDefine 指令有效,運(yùn)行apache 的時(shí)候要加上 -D SSL 參數(shù)。
引用
apache -D SSL -k start
您可能感興趣的文章:
- windows apache環(huán)境下部署SSL證書(shū)讓網(wǎng)站支持https的配置方法
- 詳解在Ubuntu上的Apache配置SSL(https證書(shū))的正確姿勢(shì)
- Apache環(huán)境下配置多個(gè)ssl證書(shū)搭建多個(gè)站點(diǎn)的方法
- 阿里云服務(wù)器apache配置SSL證書(shū)成功開(kāi)啟Https(記錄趟過(guò)的各種坑)
- Windows Server 2016 上配置 APACHE+SSL+PHP+perl的教程詳解
- apache中使用mod_gnutls模塊實(shí)現(xiàn)多個(gè)SSL站點(diǎn)配置(多個(gè)HTTPS協(xié)議的虛擬主機(jī))
- 配置apache默認(rèn)使用ssl的方法
- 寶塔apache配置阿里云SSL免費(fèi)證書(shū)的步驟(圖文)
相關(guān)文章
centos6.5 安裝hadoop1.2.1的教程詳解【親測(cè)版】
這篇文章主要介紹了centos6.5 安裝hadoop1.2.1的教程詳細(xì),該教程小編親測(cè)過(guò),非常不錯(cuò),值得推薦給大家,需要的朋友可以參考下2018-08-08移植busybox構(gòu)建最小根文件系統(tǒng)的步驟詳解
這篇文章主要介紹了移植busybox構(gòu)建最小根文件系統(tǒng)的步驟,本文分為五部給大家介紹的非常詳細(xì),需要的朋友可以參考下2019-07-07騰訊云(ubuntu)下安裝 nodejs + 實(shí)現(xiàn) Nginx 反向代理服務(wù)器
本文將介紹如何給騰訊云上的 Ubuntu Server 12.04 LTS 64位主機(jī)安裝 node 及 nginx,并簡(jiǎn)單配置反向代理。2016-11-11Linux XAMPP下啟用WordPress的自定義文件名(偽靜態(tài))功能
這篇文章主要介紹了Linux XAMPP下啟用WordPress的自定義文件名(偽靜態(tài))功能的相關(guān)資料,需要的朋友可以參考下2016-12-12VMware 12 下 Ubuntu 16.04 安裝圖文教程
這篇文章主要為大家詳細(xì)介紹了VMware 12 下 Ubuntu 16.04 安裝圖文教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-06-06linux禁止ping的實(shí)現(xiàn)實(shí)例
這篇文章主要介紹了linux禁止ping的實(shí)現(xiàn)實(shí)例的相關(guān)資料,需要的朋友可以參考下2017-05-05Linux文件基本屬性知識(shí)點(diǎn)總結(jié)
這篇文章主要介紹了Linux文件基本屬性知識(shí)點(diǎn)總結(jié),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-05-05