SSL证书
SSL证书通过在客户端浏览器和Web服务器之间建立一条SSL安全通道(Secure socket layer(SSL)安全协议是由Netscape Communication公司设计开发。该安全协议主要用来提供对用户和服务器的认证;对传送的数据进行加密和隐藏;确保数据在传送中不被改变,即数据的完整性,现已成为该领域中全球化的标准。由于SSL技术已建立到所有主要的浏览器和WEB服务器程序中,因此,仅需安装服务器证书就可以激活该功能了),即通过它可以激活SSL协议,实现数据信息在客户端和服务器之间的加密传输,可以防止数据信息的泄露。保证了双方传递信息的安全性,而且用户可以通过服务器证书验证他所访问的网站是否是真实可靠。数位签名又名数字标识、签章 (即 Digital Certificate,Digital ID ),提供了一种在网上进行身份验证的方法,是用来标志和证明网路通信双方身份的数字信息文件,概念类似日常生活中的司机驾照或身份证相似。 数字签名主要用于发送安全电子邮件、访问安全站点、网上招标与投标、网上签约、网上订购、安全网上公文传送、网上办公、网上缴费、网上缴税以及网上购物等安全的网上电子交易活动。
最近一段时间老左在玩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证书的,可以参考以上的方法。