TLS 证书介绍
TLS (传输层安全协议) 证书是保障网络通信安全的核心技术,用于验证网站身份并加密客户端与服务器之间的数据传输, 防止传输内容窃取与篡改,保障业务数据安全。
Let's Encrypt 是目前主流的免费提供 TLS 证书的证书颁发机构,可以为用户提供 90 天有效的 TLS 证书,不限制用户续期。
用户在 ZeroNews 平台上添加具备域名所有权的域名后,用户需上传域名相关的 TLS 证书,方可使用该域名添加 HTTPS 映射,实现应用安全访问。
TLS 证书申请指引
下面以 test.example.waitoin.com 域名为例,指引通过 Linux 系统,用户如何向 Let's Encrypt 申请免费证书。
在 Let's Encrypt 上申请证书,需要验证域名归属,验证域名归属常用两种方式是 HTTP-01 质询及DNS-01 质询,验证通过后才能颁发证书。
建议在 Ubuntu 20.04 或高于该版本的系统上申请证书。
先安装 certbot 证书申请工具
通过 snap 安装 certbot 证书申请工具,确保系统已经安装 snap 包, 执行一下命令安装 certbot。
sudo snap install --classic certbot
sudo ln -s /snap/bin/certbot /usr/bin/certbot
以 HTTP-01 质询验证方式申请证书
使用 HTTP-01 方式申请证书,同时需要将申请证书的域名DNS A记录解析到该申请服务器。
- 第一步: 添加域名 DNS 的A记录指向申请服务器IP
用户需登录域名服务商的管理后台,找到DNS解析,添加A记录,记录值为申请服务器的公网IP地址。
- 第二步: 申请证书
以 standalone 模式申请证书,会占用服务器的 80 端口号,服务器需要保证80端口未被占用,执行以下命令申请证书,实际申请过程中,将 -d 后的域名替换成您自己的域名。
sudo certbot certonly --standalone --register-unsafely-without-email -d test.example.waitoin.com
稍等一会,将返回如下信息,表示证书申请成功,证书默认存放在 /etc/letsencrypt/live
目录下,降证书公钥、私钥文件内容复制到 ZeroNews 平台完成证书上传。
证书公钥文件: /etc/letsencrypt/live/test.example.waitoin.com/fullchain.pem
证书私钥文件: /etc/letsencrypt/live/test.example.waitoin.com/privkey.pem