Let’s Encrypt 是一个由非营利性组织 互联网安全研究小组(ISRG)提供的免费、自动化和开放的证书颁发机构(CA)。

简单的说,借助 Let’s Encrypt 颁发的证书可以为我们的网站免费启用 HTTPS(SSL/TLS) 。

嗯,重要的是免费

1
2
3
4
5
6
7
8
9
10
11
# 下载Let's Encrypt申请工具
git clone https://github.com/certbot/certbot.git
cd certbot
# 申请证书
# 通配符需要验证,这里选择dns验证
# 过程中会打印出dns,去域名解析加上,等一会再按回车键验证
# 申请成功后证书保存再 /etc/letsencrypt/live/bidd.net 目录
# nginx配置:
# ssl_certificate -> fullchain.pem
# ssl_certificate_key -> privkey.pem
./certbot-auto certonly --email 201269807@qq.com -d bidd.net -d *.bidd.net --manual --preferred-challenges dns --server https://acme-v02.api.letsencrypt.org/directory

证书自动续期

1
2
# 待更新,我的还没到期
./certbot-auto renew --manual --preferred-challenges dns --server https://acme-v02.api.letsencrypt.org/directory --manual-auth-hook /root/renew.sh

nginx配置

1
2
3
4
5
6
7
ssl on;
ssl_certificate /etc/letsencrypt/live/bidd.net/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/bidd.net/privkey.pem;
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;