文:铁乐猫 2016年1月
前言
大概2017年12月28日左右公司提出以后需要将公司网站由http提升到https级别,以便谷歌和火狐浏览器将之认定为安全网站。
主要是出于客户、用户那边用火狐或谷歌浏览器浏览时的考虑,因为谷歌据闻以后全都要https认证访问。
不过在要做http转https之前,肯定是不能直接拿线上的主站来测试的,所以我向公司方面提出了要拿几个无关域名和测试网站来做这项实验。
于是公司申请和备案了三个用于以后做实验的域名,并为此将几个简单的网站由我放在我负责的反向代理的nginx服务器上以便域名备案通过。
还好,一周时间,域名就都通过了。
大概从2017年1月9日起,域名备案通过了,我开始做起实验。之前一直有查资料,知道首先要做的是获取SSL证书。
我首要选的是众口推荐的Let's Encrypt 这个颁发机构,不过就9日那天我又得知腾讯云有免费SSL证书颁发,只是这个免费颁发的是低级别的DVSSL证书。
DVSSL证书是只对域名作验证真实性的SSL证书,它验证的步骤很简单,你在域名解析那里添加上由它给出的别名记录,
然后它能访问到别名解析的域名就表示通过了,你就可以下载证书回本地啦。
好处是,简单快速且你下载回来的证书有IIS、Nginx、Apache三种,之后就是根据指引文档在服务器上做相应设置啦。
由于我有三个域名可拿来作实验,所以我从中选取了一个先做腾讯云的免费DVSSL证书实验。
------------------腾讯云 DV SSL证书申请实验-----------------------
注册腾讯云,我是直接拿自己QQ去登录了;
云产品-域名服务-SSL证书,点击立即使用或免费申请进到控制台的ssl证书管理页面;
在证书列表下点击申请证书
弹出框让你选择确认证书类型,只用于作实验当然是免费的来,不过亚洲诚信TRUST Asia颁发的这个证书的确是证书类型中最低的吧。
DV SSL证书,只要验证域名所有权对了就颁发证书给你。相对企业型的OV、EV来说简单和安全低了很多。不过这也大大方便了个人用户是了。
另外证书类型除了域名类型外,还有通配符代表的多域名泛域名的OV、DV证书;
再增强分的话还有什么OV、EV在地址栏上呈现绿色、有小锁等证书。反正选购的时候移鼠标到产品上就可以详细看到各个产品的不同了。
这里我们选免费证书的确定选项。
填写要绑定的域名等,注意,免费的它不支持顶级域名和泛域名,填二级的比如www.domain.com这种。下一步
选中手动DNS验证,确认申请。
申请很快就提交上去了,之后要做的是返回你的域名控制台替DNS加上别名解析记录。
那么这个别名在哪里查看到呢?就是你在腾讯云上返回证书列表中查看证书详情得知:
可以看到别名上的主机记录和记录值都是很长的字符串,有点类似之前做百度云CDN加速获取到的别名记录也是这般类型。
到域名解析(阿里云、万网的就回阿里云控制台域名管理)那为你要绑定的域名添加上这一条别名记录。
基本上等一到两三分钟,你账号邮箱就会收到一封邮件通知你验证已通过了。
审核通过,果然快速,证书有效期为1年。
现在在腾讯云的控制台上看证书管理,点击列表上已有的证书详情,可以将打包生成的证书下载回本地。
之后就是参照指引文档(PDF,可下载回本地看)去在服务器上分别做设置的事了。
网站部署在nginx上,我用nginx的证书配置。
将解压出来的证书文件和私钥文件两个文件上传到nginx服务器上放置好。
修改nginx.conf文件配置,如下图:
监听80端口,用于http跳转到https,主要加上的一条语句是
rewrite ^(.*)$ https://$host$1 permanent;
再监听443端口,因为ssl用的就是443端口(防火墙也要对443开放)
填写SSL的几个重要参数
ssl_certificate 证书文件所在路径
ssl_certificate_key 私钥文件所在路径
ssl_protocols 使用的协议,一般为TLSv1 TLSv1.1 TLSv1.2
ssl_ciphers 配置加密套件,一般为ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
配置好后,用ngint -t命令检测语法,然后确认正常无误后ngint -s reload 平滑重启nginx。
注意如果写错了证书文件和私钥文件,会在检测ngint.conf配置文件的语法时被报错
其中有一段"system library:fopen:No such file or directory:fopen"表示没有这样的文件或目录,我就碰上了。
浏览器浏览测试域名网站已经是跳转到https了,也可以在各大浏览器上看到证书的信息。
证书有效!
-----------------------------腾讯云 DV SSL证书申请实验完成--------------------------
接下来还会有其之二申请Let's encrpt的证书等。