【实践】Nginx如何配置免费let's encrypt 证书并自动续期
@wayne -
可能是之前太土豪, 证书都用的收费的。
偶尔有些小项目,也都是宝塔自动申请。
但是总是这样子并不似长久之计啊~
所以研究了下,原来这么简单...
准备工作:
- 1.安装nginx
- 2.nginx中conf配置好域名
- 3.开放web端口:443及80
- 4.防火墙 setenforce 0
安装
安装snapd.(centos7 为例)
$ sudo yum install epel-release
$ sudo yum install snapd
$ sudo systemctl enable --now snapd.socket
$ sudo ln -s /var/lib/snapd/snap /snap
更新snapd
$ sudo snap install core
$ sudo snap refresh core
安装 Certbot
$ sudo snap install --classic certbot
准备 Certbot 命令
$ sudo ln -s /snap/bin/certbot /usr/bin/certbot
运行Cerbot并选择安装证书
$ sudo certbot certonly --nginx
测试自动续订
sudo certbot renew --dry-run
更新 certbot 的命令安装在以下位置之一:
- /etc/crontab/
- /etc/cron./
- systemctl list-timers
Nginx 添加配置
#强制跳转
rewrite ^(.*)$ https://$host$1;
listen 443 ssl http2;
server_name domain;
ssl_certificate /etc/letsencrypt/live/domain/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/domain/privkey.pem;
ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
ssl_prefer_server_ciphers on;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
2
评0
Comments | 0 条评论
613