一、 Let's Encrypt
Let's Encrypt SSL 证书是一个免费的公益项目,由 Mozilla 、 Cisco 、 Akamai 、 IdenTrust 、 EFF 等组织人员发起,主要的目是为了推进网站从 HTTP 向 HTTPS 过度的进程,目前已经有越来越多的商家加入和赞助支持。
使用 Let's Encrypt 生成域名证书的前置条件:
- 拥有域名,能自主配置 DNS 记录。或者提供 web 服务器验证,需要在网站目录下放一个文件,推荐第一种方式。
- 获取证书的环境要能访问到 DNS 服务器,因为中途需要校验 DNS 解析。
- 拥有主机的超级权限,中途需要更新和安装组件。
二、申请流程
第一步:拉代码,代码开源于 Github 。
完成后执行命令生成证书:
解释一下各个参数的含义:
certonly
: 表示当前为安装模式--manual
: 表示手动安装插件,不要自动安装了--preferred-challenges dns
: 校验方式为 dns 验证-d *.maqian.art
: 要生成的域名列表,可以为多个,如果是多个分别以-d 加上即可--server
: Let's Encrypt ACME v2 版本使用的服务器
接下来的步骤一直接受即可,直到出现添加 DNS 记录为止:
此时需要在 DNS 服务商处添加 dns 解析,记录类型为 TXT
,记录为_acme-challenge
,值为 zw1MeEkmGZOqSqiySp9Ke8S5a9BXC3O4tYzlbjwU-CU
。当 DNS 记录设置好后,新开一个终端查询解析是否生效:
当查询到的记录和给定的都一致之后按下任意键执行下一步,如果 DNS 验证成功就会出现以下信息:
此时就表示证书已经申请完成了,存放的路径为:/etc/letsencrypt/live/maqian.art-0001 。
三、安装到 nginx
上面一共生成了四个文件,各自的用途为:
cert.pem
: Apache 服务器端证书chain.pem
: Apache 根证书和中继证书fullchain.pem
: Nginx 所需要 ssl_certificate 文件privkey.pem
: 安全证书 KEY 文件
部署到 nginx 只需要添加一下指令即可:
打开网站,点开左上角地址栏的 https,查看证书:
评论