type
status
date
slug
summary
tags
category
icon
password
唠叨两句
ssl认证是什么呢?百度百科是这么说的:
SSL证书是数字证书的一种,类似于驾驶证、护照和营业执照的电子副本。因为配置在服务器上,也称为SSL服务器证书。 SSL证书就是遵守SSL协议,由受信任的数字证书颁发机构CA,在验证服务器身份后颁发,具有服务器身份验证和数据传输加密功能。
用大白话说,就是一个网站,普通的是用http访问的,不安全。普通黑客能通过你的页面,轻易获取到一些数据。如果http加上SSL认证,形成https呢,那能抵挡住许多工具。做过B/S系统的小伙伴,应该都能了解到,在渗透测试、安全测试的时候,一个https能解决很多问题。
正文
方案1:使用云服务的ssl认证
优点
简单,方便,随便点击几下,就能生成,并且能生成多种类型的。
缺点
免费版有申请册数限制,比如阿里云的话,免费证书是一年只能申请20次。并且3个月需要更换一次。(原先免费证书很良心,申请一次有效期是1年,现在有效期只有3个月)
付费版稍微有点贵,如果申请正版官方的ssl认证证书,动辄要几千上万。就算阿里的个人测试pro版,也要68一年。像我们这种平时只是自己研究的,没有资本家支持的猿们,有白嫖的,谁还会用付费的呢?(当然如果你是要用到生产环境,建议还是选择正式证书)
步骤
此处以阿里云为例,其余的云运营商基本上都差不多。
首先进入阿里云的数字证书管理服务(原SSL证书管理)功能

进入到SSL证书模块,点击个人测试证书

首先需要先购买个人测试证书(零元购),选择个人测试证书,选择免费版,20个,费用0元。

购买完之后,就可以点击创建证书了,在页面填写你要部署的二级域名。勾选快捷签发,选择手动DNS验证或者文件验证方式。如果此时你的域名刚好是阿里云上进行维护的,那选择手动DNS验证即可。点击提交审核就行。

审核很快,一般五六分钟就签完了。如果你发现签发时间很久了还没有成功,回到列表查看进度就行了。
当签完之后,你在列表中能看到后面有三个按钮,“部署”“续费”“更多”。如果你的ssl证书,想在阿里云的某个资源上使用,阿里云提供了方便的“部署”,点击部署即可。此处不过多的描述。
因为我的是用在Nginx上,可以点击“更多”按钮,选择下载,找到Nginx模块,下载即可。

这样,你就会下载到对应的ssl认证证书,按照自己的需求进行ssl部署就行了。
方案2:使用Let's Encrypt
Let's Encrypt是一家证书颁发机构,使用它可以提供的工具,可以免费、自动的进行续签。官网为 https://letsencrypt.org/zh-cn/getting-started/ 。
如果想使用此功能,需要您有一个可操作的服务器,且可以连外网。并且你要有当前服务器的root权限。本文介绍如何在 CentOS + Nginx 环境下,自动申请和部署Let’s Encrypt免费SSL证书。
步骤
1.在服务器上安装Cerbot
2.解析你的域名,使得你想处理的二级域名,能指向当前的服务器
3.配置你的nginx.conf,在你的80端口的映射上,增加一个这个(因为在自签的时候,签名程序会访问当前地址来确定这个服务器、域名都属于你)
4.在服务器上运行命令
比如
5.生成的配置,一般会生成在/etc/letsencrypt
6.然后配置nginx的ssl认证即可
7.然后使用nginx -s reload,重启即可,就能看到对应的网站的ssl认证已经更换完毕。此图也能看出来,对应证书有效期是90天

8.然后我们可以配置自动续签。自动续签的原理就是在服务器增加定时器,执行重新生成和重启nginx的功能
对于certbot,有如下命令
所以我们可以结合定时器,来处理。首先,我们使用命令编辑定时器
然后我们增加定时器,比如每月1号1点执行重新生成证书以及重启nginx
然后执行 crontab -l,看是否添加成功,如果出现如下,则表示成功
- -------END-------
天行健,君子以自强不息;地势坤,君子以厚德载物
欢迎关注公众号:Doubletree的杂七杂八