之前一直有听说过ssl证书和 https加密这些东东,就我在使用Google Chrome浏览器时就常常瞄到地址栏左边有个绿色小锁表示安全,其他显示总是提醒你不安全。Σ( ° △ °|||)︴在自己搭建这个博客时,在LNMP添加网站(虚拟主机)的过程中也有注意SSL证书添加功能,当时想着添加证书大多不是需要钱的么,就没有去理会Let’s Encrypt这个免费提供SSL证书的。博客建成快半个月了,在这过程中也了解了一些关于网站的知识,意识到这个SSL证书对网站的安全访问还是挺重要的,现在互联网有着全面推进https化的趋势,各大互联网公司全面https化,谷歌也通过Chrome推进https化。很多企业网站和一些博客也陆陆续续加“s”了。说了那么多,也该让自己博客加上“小绿锁”了。(。・∀・)ノ゙
Let’s Encrypt是一个于2015年三季度推出的数字证书认证机构,旨在以自动化流程消除手动创建和安装证书的复杂流程,并推广使万维网服务器的加密连接无所不在,为安全网站提供免费的SSL/TLS证书。
Let’s Encrypt由互联网安全研究小组(缩写ISRG)提供服务。主要赞助商包括电子前哨基金会、Mozilla基金会、Akamai以及思科。2015年4月9日,ISRG与Linux基金会宣布合作。
用以实现新的数字证书认证机构的协议被称为自动证书管理环境(ACME)。GitHub上有这一规范的草案,且提案的一个版本已作为一个Internet草案发布。
Let’s Encrypt对于个人小型博客完全够用,也受到谷歌支持。下面是LNMP1.4版本对已建立的虚拟主机添加SSL证书开启https加密访问的过程。
网站(虚拟主机)添加SSL证书
登陆VPS,执行命令:
1 |
lnmp ssl add |
这里的添加过程和前面的添加虚拟主机的过程是一样的,安装你之前填写的就好,直到出现Add SSL Certificate (y/n),即提示添加SSL证书,输入y回车。然后选择1是使用自己的证书和key,需自行提前准备好;这里我们选择2即选择Let’s Encrypt为我们生成证书。输入2回车,提示输入邮箱,输入一个你自己用的邮箱就好了,回车确认再回车便自动开始为我们生成证书了。
等待约两分钟,出现类似下图提示,即说明为网站添加了SSL证书,开启了https访问。地址栏输入https://starrycat.me测试访问成功。
由于Let’s Encrypt提供的SSL证书是有90时限的,在LNMP1.4版本中也提供了脚本自动为我们续期,不需要我们手动续期,挺方便的。前提是VPS服务器预装了crontab定时程序,我是用的Vultr装的Debian 7 x64已经自带crontab,下面来查看crontab的定时配置任务:
1 |
crontab -l |
每七天为我们执行一次续期操作,不用担心过期了。
301重定向到https
在完成前面的操作后,我们已经开启了https访问,但此时http也能访问,我们需要将http访问301重定向到https来。
进入虚拟主机配置目录:
1 |
cd /usr/local/nginx/conf/vhost |
列出网站配置文件:
1 |
ls -al |
使用vi编辑配置文件:
1 |
vi starrycat.me.conf |
在vi编辑模式中如下图红框位置处贴入301重定向规则:
1 2 3 |
if ($scheme = http ) { return 301 https://$host$request_uri; } |
确认无误后,保存退出:
1 |
:wq |
重启LNMP生效:
1 |
lnmp restart |
至此完成http重定向至https。
不显示小绿锁的问题
在完成上面步骤后若出现如Google Chrome下图显示:
记得把WordPress站点URL中加上”s”,还有把主题中自定义的图片改为https引用,如果外链图片使用http引用,需要把图片下载后在上传到你的网站。最后可以显示小绿锁了。(*^▽^*)
发表评论