let's encrypt部署&&续期

let's encrypt

let's encrypt是一个免费的ssl证书发放机构,且是被信任的,即不会像12306那样出现非信任的标志(因为12306使用的是自己的证书),对于买不起ssl证书的旁友可以使用

证书获取

环境:

  • docker
  • nginx
  • centos7

先clone一份到本地,目录自选

git clone https://github.com/letsencrypt/letsencrypt

执行生成证书

sudo ./letsencrypt-auto certonly --standalone --email 邮箱地址 -d 域名(邮箱用作即将过期提醒)

生成的证书和相关文件保存在

/etc/letsencrypt/live/域名

主要4个文件:
cert.pem 申请的服务器证书文件
privkey.pem 服务器证书对应的私钥
chain.pem 除服务器证书外,浏览器解析所需的其他全部证书,比如根证书和中间证书
fullchain.pem 包含服务器证书的全部证书链文件

Nginx配置

ssl on;
ssl_certificate /etc/nginx/fullchain.pem;
ssl_certificate_key /etc/nginx/privkey.pem;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;

由于我用docker运行nginx,提前将fullchain.pem和privkey.pem两个文件映射到nginx容器中/etc/nginx/目录下即可

续期

提前停止nginx容器,否则无法更新
进入letsencrypt目录中执行

./letsencrypt-auto renew --email your-email-address --agree-tos

邮箱地址就是生成证书时使用的邮箱地址
续期成功后记得重新构建nginx容器保证证书被替换

你可能感兴趣的:(let's encrypt部署&&续期)