证书使用的是通过阿里云申请的免费证书,申请过程笔者就不写了。
证书申请通过以后在证书控制台下载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”标签可以配置多个域名哦!
每个域名可以使用不同的证书文件!
参考链接: