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 |