由于移动屏蔽的问题,很多朋友给我建议过https访问,由于各种各样的原因我一直没有升级,只是测试过,当然最方便的要数Let’s Encrypt免费SSL证书,很多一键包已经加入了SSL部署组件选择,我个人最常用的还是LNMP一键包,在目前最新1.4版也提供了2种SSL部署方式选择:使用自己的SSL证书或者Let’s Encrypt免费证书。
Let’s Encrypt 是一个免费、开放,自动化的证书颁发机构,由 ISRG(Internet Security Research Group)运作。项目于2012年由 Mozilla 的两个员工发起,2014年11年对外宣布公开,2015年12月3日开启公测。Let’s Encrypt是目前很火的一个免费SSL证书发行项目,自动化发行证书,证书有90天的有效期,可以通过自动任务自动续期。
在部署Let’s Encrypt免费SSL证书之前,我们要先做2个基本工作:
1、已完成LNMP1.4编译并正常运行;
2、所需部署的域名已解析至服务器IP。
接下来,我们开始在VPS中新增站点(添加虚拟主机),并在此过程中选择部署Let’s Encrypt免费SSL。
上图已经对lnmp vhost add过程中的部分内容进行了标注,屏幕最下面开始询问是否添加SSL证书,我们选y。
然后我们选择2,使用Let’s Encrypt创建SSL证书。
之后输入邮箱(输入自己的邮箱即可,没有特别要求),并回车后按任意键开始配置虚拟主机。
部署的过程不用多久,很快我们看到配置完成,之后我们就可以测试通过https访问上面添加的站点了,我这里还随便传了点网页方便看。
如果我们需要强制使用https访问,可以通过修改站点配置文件(配置文件位置:/usr/local/nginx/conf/vhost/域名.conf),将所有的http请求通过rewrite重写到https上即可。
在如上图的位置加入:rewrite ^(.*)$ https://$host$1 permanent;
完成后保存,并重载nginx,这时候我们再次访问http地址,会发现自动跳转至https地址。
在使用LNMP1.4添加虚拟主机部署Let’s Encrypt免费SSL证书过程中,系统会自动加入自动任务,我们可以确认下是否成功加入,如下图,可以看到该任务每7天执行一次,就不用担心90天期限的问题。
上面是直接添加虚拟主机过程中部署好Let’s Encrypt免费SSL证书,如果我们在添加虚拟主机站点时,没有选择部署的话,后期也可以通过命令lnmp ssl add命令来部署,操作的过程跟我们直接部署是一样的。