经验总结

阿里云免费SSL正式在nginx上的部署实践

2019-06-21  本文已影响0人  Jay_小咖

现如今大多数的网站都采用https的方式,因为它比http更安全,HTTPS即HTTP + SSL/TLS,在HTTP的基础上对数据传输进行加密,使网站更加安全。

所以这次也在小编的个人网站上进行实践一下。大部分SSL证书是收费的,也有一些是免费的,详见:11中免费获取SSL证书的方式。我是用阿里云进行实验。当然也可以用腾讯云百度云之类的,其实都是大同小异的。

准备工作

无论是阿里云、腾讯云还是百度云都需要先进行注册、实名认证。腾讯云可以直接用微信扫一扫登录。(这年头什么网站都要手机号实名等等,感觉在互联网的世界已经没什么隐私可言了)。

其次需要有由注册一个域名,并且已经解析到相关的服务器。

然后就是你已经部署了一个网站在虚拟主机上,并且已经弄好了域名映射,比如使用Nginx,完成了相关的配置。且网站能够正常访问了。

开始申请证书

在以下网址进行购买:
云盾证书服务(包年)购买-阿里云

选择免费型DV SSL证书,免费为期一年,只支持一个域名,一个账号最多申请20个免费证书。对于个人博客或微型网站来说应该足够了。


选择免费型DV SSL证书@2x.png

付款成功之后呢,就可以在SSL证书管理控制台上看到证书列表了。

证书验证

在证书列表右侧点击申请,填写相关信息后进行验证。


证书申请验证@2x.png

有三种域名验证方式:

我的域名虽然是使用阿里云的,但我想试一下文件验证方式。

验证信息@2x.png

这里文件验证方式需要将fileauth.txt文件下载下来,然后在站点根目录下创建.well-known/pki-validation目录,然后通过scp或ftp工具上传到该目录下。

点击验证来验证域名。这里验证往往可能会出现问题,可以参考:
https://help.aliyun.com/knowledge_detail/48720.html?spm=5176.11065259.1996646101.searchclickresult.459c58a4wc83b4

需要注意的是,我们填写的www.xxx.com是二级域名,阿里云之后发送给CA的就变成了xxx.com顶级域名了,如果这顶级域名没解析,就会有问题。(我折腾了一翻,真的很蛋疼)。

可以分别ping一下这两个,即www.domain.comdomain.com,看是否有返回IP地址,都有的话,就是已经做了解析的了。

ping两种域名

如果顶级域名没做,则需要添加一条解析记录。即添加一条记录值为@的记录。

所以只有http://www.domain.com/.well-known/pki-validation/fileauth.txt
http://domain.com/.well-known/pki-validation/fileauth.txt 都访问成功后才能够验证通过签发证书。

部署SSL证书

本人是在Linux Nginx上进行操作的。

首先安装Nginx就不多说了。相信大家都会,不会的度娘搜一搜跟着安装就行。

配置开启ssl

安装Nginx后,进入Nginx的配置目录修改配置文件,如/usr/local/nginx/conf/nginx.conf,打开后找到如下所示位置:

nginx-https配置@2x.png

加上如下的证书路径,配置后信息如下:


配置后的信息@2x.png

下载证书并上传

证书信息验证通过后(一般经过几分钟扫描到文件后很快就会通过),如下:


已签发的证书@2x.png

然后下载证书:


两个证书@2x.png

把这两个证书上传到服务器目录,一般放在:/usr/local/cert中。或放在/nginx/ssl中,都可以。

然后在配置,接上一步,配置证书路径。

验证

重启Nginx后,用Chrome访问域名查看。

Nginx相关操作:

查看Nginx配置文件是否配置正确:

$ ./nginx -t

重启Nginx:

$ ./nginx -s reload

最后,在浏览器上出现绿色的安全锁,证明SSL证书配置正确了。


火狐打开https网站提示可信任的网址@2x.png
上一篇下一篇

猜你喜欢

热点阅读