WampServer服务器安装SSL证书

证书使用的是通过阿里云申请的免费证书,申请过程笔者就不写了。

证书申请通过以后在证书控制台下载Apache版本证书,下载到本地的是一个压缩文件,解压后里面包含_public.crt文件是证书文件,_chain.crt是证书链(中间证书)文件,.key文件是证书的私钥文件(申请证书时如果没有选择系统创建CSR,则没有该文件)。

友情提示.crt扩展名的证书文件采用Base64-encoded的PEM格式文本文件,可根据需要,修改成.pem等扩展名。以Apache标准配置为例,假如证书文件名是a_public.crt,证书链文件是a_chain.crt,私钥文件是a.key

环境
WampServer 2.5
Windows Server 2008 R2 企业版 64位中文版

操作步骤

1.在“C:\wamp\bin\apache”目录下创建cert目录,并且将下载的全部文件拷贝到cert目录中。

2.在“C:\wamp\bin\apache\apache2.4.9\conf”下打开“httpd.conf”文件,找到以下内容并去掉“#”。

#LoadModule socache_shmcb_module modules/mod_socache_shmcb.so
#LoadModule ssl_module modules/mod_ssl.so
#Include conf/extra/httpd-ssl.conf

3.在“C:\wamp\bin\apache\apache2.4.9\conf\extra”下打开“httpd-ssl.conf”文件

##
##  SSL Global Context
##
##  All SSL configuration in this context applies both to
##  the main server and all SSL-enabled virtual hosts.
##

找到上面这段文字。在这段文字后面添加一行。

SSLProtocol all -SSLv2 -SSLv3
将
SSLCipherSuite HIGH:MEDIUM:!aNULL:!MD5
修改为
#SSLCipherSuite HIGH:MEDIUM:!aNULL:!MD5
将
#SSLCipherSuite RC4-SHA:AES128-SHA:HIGH:MEDIUM:!aNULL:!MD5
#SSLHonorCipherOrder on 
修改为
SSLCipherSuite HIGH:!RC4:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!EXP:+MEDIUM
SSLHonorCipherOrder on 
将
SSLSessionCache        "shmcb:c:/Apache24/logs/ssl_scache(512000)"
修改为
SSLSessionCache        "shmcb:c:/wamp/bin/apache/apache2.4.9/logs/ssl_scache(512000)"
将整个“<VirtualHost _default_:443></VirtualHost>”标签内的内容全部删除,修改为以下内容。(笔者没有配置log目录,如果需要配置请阅读该教程最后的参考链接)
<VirtualHost *:443>
DocumentRoot "c:/wamp/www/domain"
ServerName www.domain.com

SSLEngine on
SSLCertificateFile "C:/wamp/bin/apache/cert/a_public.crt"
SSLCertificateKeyFile "C:/wamp/bin/apache/cert/a.key"
SSLCertificateChainFile "C:/wamp/bin/apache/cert/a_chain.crt"
</VirtualHost>
DocumentRoot为存放网页的目录,ServerName为服务器域名,请修改为自己的。

多说几句,多个“VirtualHost”标签可以配置多个域名哦!
每个域名可以使用不同的证书文件!


参考链接:

Apache服务器安装SSL证书

wampserver部署https服务器

发表评论