最近一段时间老左在玩SSL证书,其中玩过在黑色星期五期间不到1美元一年购买的Namecheap付费SSL证书,也玩过被很多商家和网友推荐的Let's Encrypt免费SSL证书,对于一般的网站用户或者博客用户来说,对于安装何种加密级别的证书其实都没有多大意义,最为主要的是URL头是一个绿色的小锁就感觉高端大气。
鉴于Let's Encrypt第三方支持力度,以及众多网友的热心,老左前天有使用SSL For Free工具可以一键生成证书包,对于安装到VPS服务器中的方法之前也有分享过(在这里),为了体验不同环境的方法,老左还单独在我们很多朋友使用的cPanel面板的虚拟主机环境中架设一个环境且安装前天生成的免费SSL证书到网站中。
第一步、安装SSL证书到cPanel面板准备工作
我们在准备安装网站实现HTTPS网址加密证书访问之前需要将网站添加到cPanel面板中,实现HTTP可以访问,这个就不用在这里教学了,已经很基础的东西。其次,我们需要通过上面SSL For Free方法获取到证书包,且里面有ca_bundle.crt、certificate.crt、private.key三个文件,我们要准备等会需要用到。
这不为了玩转Let's Encrypt免费证书,老左还特意注册到letsencrypt.cc域名,等最后要实现https://www.letsencrypt.cc这样的网址访问形式且需要全部的形式都跳转到HTTPS地址。既然准备工作做好了,那就一起开始吧。
第二步、登录cPanel面板设置添加准备的证书文件
1、登录SSL/TLS 管理器
登录CP面板,我们可以看到上图所示,找到SSL/TLS管理器。
上面的选项很多,这里直接点击管理SSL站点选项。
2、添加证书文件
这里我们需要选择已经在CP面板中的站点,也就是我们上面准备好的配置和下载到证书的域名,然后在其中的certificate.crt文件的脚本都复制进来,然后会看到对应的域名选项。
然后将private.key和ca_bundle.crt文件都复制对应的文本框中。点击安装证书,这样可以看到下图。
看到这个界面,就表示我们在cpanel面板中部署SSL证书完毕。点击确定之后我们其实就可以用HTTPS地址访问我们的网站。
第三步、强制HTTPS跳转访问站点
一来是为了统一用户访问入口,二来规范化网址,所以必须将当前既可以用HTTP访问,也可以用HTTPS访问网站进行一个统一格式。老左需要将全部用HTTP访问的地址跳转到HTTPS地址来。
因为老左这个站点采用的是ZBLOG PHP程序,所以直接在根目录中的.htaccess文件添加上图所示的4行,无论是HTTP还是不带WWW,都将跳转到HTTPS的WWW形式。
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://www.letsencrypt.cc/$1 [R,L] RewriteCond %{HTTP_HOST} ^letsencrypt.cc [NC] RewriteRule ^(.*)$ http://www.letsencrypt.cc/$1 [L,R=301]
我们用浏览器打开网站试试看看是不是有小绿锁。
第四、用SSL工具检测生效及小结
在线检测工具:https://www.ssllabs.com/
无论我们用何种证书配置的SSL,都可以用上面的在线工具检测是否成功。
检测之后还算不错吧,至此老左利用免费的Let's Encrypt SSL证书生成且安装到站点中,过程还算比较简单,如果我们也是用CP面板虚拟主机建设的站点需要安装SSL证书的,可以参考以上的方法。