Let's Encrypt证书申请

一般来讲,正式部署站点时都会使用年限较长、品牌较大的证书。例如本站使用的是TrustAsia SSL证书(5年期)。

但是,也有很多情况下需要快速地部署TLS服务,对证书本身的品牌没有太大要求。此时,Lets Encrypt证书即是最好的选择,它可以被免费、快速地申请到。

本文在Linux环境下申请证书。

前提条件

你需要有一个自己的域名,且将要申请证书的域名解析到你的Linux服务器上。

安装Lets Encrypt

使用包管理器安装:

1
apt-get -y install letsencrypt
1
yum -y install letsencrypt

如果在使用yum安装时提示没有找到对应软件包,那需要先安装EPEL额外软件包源:

1
yum -y install epel-release

申请证书

首先要确保本机的443端口开启且空闲,为此你需要先关闭正在占用这两个端口的进程,例如网页服务器。

确保端口通畅之后,使用Lets Encrypt的standalone模式申请证书:

1
letsencrypt certonly --standalone

输入此命令之后,按照其提示输入相应的信息,包括但可能不限于邮件地址、是否同意其条款,以及最重要的——你要申请证书的域名

输入完全部必要信息后,Lets Encrypt会验证域名所有权(TLS-ALPN-01)。

使用证书

验证完毕且成功后,Lets Encrypt会给你颁发证书。假设你的域名是my.own.site,则颁发的证书会处于目录/etc/letsencrypt/live/my.own.site/,且其中包括:

  • privkey.pem:证书的私钥。
  • fullchain.pem:在大多数网页服务器(NGINX、Apache)中使用的证书。
  • chain.pem:用于NGINX(1.3.7及更高版本)中的OCSP装订。
  • cert.pem:会被众多网页服务器(NGINX、Apache)认为是不完整证书,请勿将该文件指定为证书。

所以,在配置TLS证书时,请使用fullchain.pem作为证书,使用privkey.pem作为私钥。

更新证书

Lets Encrypt证书的有效期限是三个月,必须要在证书过期前进行更新。但是不用担心错过日期,Lets Encrypt会向您预留的邮箱地址发送提醒邮件。

首先请停止占用443端口的服务。

更新证书的方法与新申请一致:

1
letsencrypt certonly --standalone