开启HTTPS访问:安装免费SSL证书
之前介绍了如何申请阿里云的免费SSL证书,这篇文章将要介绍如何安装部署阿里云的免费SSL证书,如果目前还没有申请SSL证书的话,可以参看之前的文章《开启HTTPS访问:申请免费SSL证书》先申请免费的SSL证书。
1.证书申请完成之后,在“安全(云盾)”中的“CA证书服务(数据安全)”可以查看已经成功签发的证书,并点击证书后面的“下载”;
2.选择Web服务器对应的证书,我的网站使用的是Apache服务器,因此这里以Apache服务器证书为例,点击“下载证书for Apache”;
3.在对应web服务器证书的下载界面中,会有关于安装SSL的对应步骤,首先我们要在服务器的Apache目录中创建cert目录,将下载回来的4个证书文件全部上传到cert目录中;
特别提醒#1:Apache目录一般默认为/usr/local/apache
特别提醒#2:创建cert目录时,注意设置目录全新为755
4.使用SSH连接工具登陆阿里云服务器(我习惯使用身材只有300多KB的putty),找到Apache的配置文件httpd.conf;
特别提醒#1:SSH连接工具还有Xshell、SmarTTY、Cygwin等
特别提醒#2:httpd.conf一般默认在Apache目录/conf/httpd.conf
5.使用vi或vim编辑httpd.conf配置文件,找到
#LoadModule ssl_module modules/mod_ssl.so
#Include conf/extra/httpd-ssl.conf
将两句内容前面的“#”删除,改为
LoadModule ssl_module modules/mod_ssl.so
Include conf/extra/httpd-ssl.conf
特别提醒#1:在非编辑模式下,使用“/关键词”可以查找相关内容
特别提醒#2:文本编辑命令为“i”,退出并保存命令为“:wq”
特别提醒#3:所有命令均在非编辑模式下进行
6.在Apache目录的配置文件目录中,找到ssl的配置文件httpd-ssl.conf,并用vi或vim编辑httpd-ssl.conf文件;
特别提醒#1:httpd-ssl.conf一般默认在Apache目录/conf/extra/httpd-ssl.conf
7.在httpd-ssl.conf文件中查找
SSLProtocol all -SSLv2 -SSLv3
SSLCipherSuite HIGH:!RC4:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!EXP:+MEDIUM
SSLHonorCipherOrder on
SSLCertificateFile cert/public.pem
SSLCertificateKeyFile cert/2*************8.key
SSLCertificateChainFile cert/chain.pem
将找到的信息修改为与阿里云证书提供的内容,前面如果有“#”要去掉“#”;
8.上述所有内容完成之后,重启Apache服务;
特别提醒#1:重启Apache服务命令“service httpd restart”
特别提醒#2:重启Apache如果报错,根据报错信息查询配置文件内容是否正确
9.如果配置SSL正确完成,却依然无法通过“HTTPS”访问网站,可以首先通过“配置规则”查看443端口是否已经开启;
如果在列表中没有看到433端口,可以选择“快速创建规则”,勾选“HTTPS(443)”选项,并在“授权对象”填写“0.0.0.0/0”允许所有IP地址及端口;
10.其次可以查看云服务器中是否存在多个网站,然后使用vi或vim编辑“Apache目录/conf/vhost/你的域名.conf”文件,在配置文件中增加以下内容:
<VirtualHost *:443>
ServerAdmin 你的邮箱
php_admin_value open_basedir /data/www/你的域名:/tmp:/var/tmp:/proc
DocumentRoot /data/www/你的域名
ServerName 你的域名
ServerAlias 你的www域名 你的顶级域名
SSLEngine on
SSLCertificateFile cert/public.pem
SSLCertificateKeyFile cert/2*************8.key
<Directory /data/www/你的域名>
SetOutputFilter DEFLATE
Options FollowSymLinks
AllowOverride All
Order Deny,Allow
Require all granted
DirectoryIndex index.php index.html index.htm
</Directory>
ErrorLog /data/wwwlog/你的域名/ssl_error.log
CustomLog /data/wwwlog/你的域名/ssl_access.log combined
</VirtualHost>
至此,阿里云的SSL免费证书就已经安装部署完毕,但对于网站的SEO来说,还有一个很重要的重定向问题需要解决,我将会在下一篇文章中详细介绍HTTPS的重定向问题。