阿里云ECS,Apache配置多个SSL证书(https)
来源:千越SEO 浏览:54【云服务器推荐使用集成环境(LAMP、LNMP),可配置多个SSL证书,无需过多配置。】
在网站维护过程中部署https时,通常是一个IP部署一个SSL证书,网上很多关于实现一个IP配置多个SSL证书的方法,但亲测了很多都不能用,折腾了一天终于折腾明白了,下面介绍一下方法。
环境背景:阿里云ECS、Apache、阿里云申请的免费SSL证书
最终目的:实现一台服务器(一个IP)配置多个SSL证书,如https://www.test1.com、https://www.test2.com、https://www.test3.com……
方法:
1、申请好SSL证书以后,按照说明在Apache的安装目录下(/usr/local/apache/)创建cert目录,并且将下载的文件解压上传到cert目录中。
因为是配置多个域名,所以我创建了cert1、cert2、cert3……,然后把相应域名的SSL证书文件,分别上传到对应的cert文件夹,如test1.com的证书上传到cert1、test2.com的证书上传到cert2,自己记好哪个域名对应哪个文件夹就可以了。
2、打开/usr/local/apache/conf/目录下的httpd.conf文件,删除以下代码之前的“#”,开启虚拟主机配置
Include conf/extra/httpd-vhosts.conf
3、打开/usr/local/apache/conf/extra/目录下的httpd-vhosts.conf文件,清空所有内容,然后添加以下代码
<VirtualHost *:443> DocumentRoot "/data/wwwroot/www.test1.com" ServerName www.test1.com <Directory "/data/wwwroot/www.test1.com"> Options FollowSymLinks MultiViews AllowOverride All Require all granted </Directory> ErrorLog "/usr/local/apache/logs/error_log" TransferLog "/usr/local/apache/logs/access_log" SSLEngine on SSLCertificateFile cert1/public.pem SSLCertificateKeyFile cert1/证书私钥(一串数字).key SSLCertificateChainFile cert1/chain.pem </VirtualHost> <VirtualHost *:443> DocumentRoot "/data/wwwroot/www.test2.com" ServerName www.test2.com <Directory "/data/wwwroot/www.test2.com"> Options FollowSymLinks MultiViews AllowOverride All Require all granted </Directory> ErrorLog "/usr/local/apache/logs/error_log" TransferLog "/usr/local/apache/logs/access_log" SSLEngine on SSLCertificateFile cert2/public.pem SSLCertificateKeyFile cert2/证书私钥(一串数字).key SSLCertificateChainFile cert2/chain.pem </VirtualHost>
4、重启Apache(service httpd restart)