Apache下SSL证书的安装 |
1、将保存好的server.cer文件和制作CSR时候生成的server.key一起复制到服务器上。
|
2、修改httpd.conf文件。
|
Apache一般有2个版本下载,一个是带SSL模块的,一个是不带SSL的,请首先检查自己的SSL是包含了SSL模块的,否则就没法做了。Apache的参数配置都在httpd.conf文件中,SSL配置也是如此,此外还可以通过include httpd-ssl.conf来包含一个专门配置SSL的配置文件,如果激活了httpd-include ssl.conf,则可以打开httpd-ssl.conf来配置相应参数。
|
一般,我们直接在httpd.conf文件中直接配置SSL参数:
|
#加载模块mod_ssl.so,此模块是启用SSL功能必须的。
LoadModule ssl_module modules/mod_ssl.so
#监听443端口
Listen 443
#建立一个SSL的虚拟站点,避免SSL配置影响原来HTTP的站点配置。
<VirtualHost _default_:443>
DocumentRoot "C:/Program Files/Apache2/htdocs"
ServerName www.myssl.cn:443
SSLEngine on
SSLCertificateFile "C:/SSL/server.cer"
SSLCertificateKeyFile "C:/SSL/server.key"
SSLCertificateChainFile "C:/SSL/chain.cer"
ErrorLog "C:/Program Files/Apache2/logs/error.log"
TransferLog "C:/Program Files/Apache2/logs/access.log"
</VirtualHost>
#说明主站是使用HTTP通信的,只有上面虚拟站点有SSL
SSLEngine off
|
配置参数说明如下(完整的SSL配置参数见这里):
|
Listen 443:SSL协议监听的端口,同下面Virtualhost 中的端口需要匹配,SSL协议缺省使用443端口,也有使用8443的情况。
|
SSLEngine on:SSL功能打开,如果在Virtualhost出现这句,则仅作用于虚拟机站点配置范围,这个虚拟机站点全部使用SSL通信,如果出现在Virtualhost外,则作用于全局,整个服务器都使用SSL(HTTPS)通信,不能采用HTTP通信,所以通常都在Virtualhost中加这句。
|
SSLCertificateFile: SSL证书文件,server.cer
|
SSLCertificateKeyFile:私钥文件,server.key
|
SSLCertificateChainFile:中间链证书,请根据产品下载中间链证书,并保存为'chain.cer'
|
3、重新启动Apache,如果是在Linux下,输入:
|
apachectl stop
apachectl startssl
|