nginx使⽤acme.sh脚本配置letsencryptssl证书
先说下背景:certbot依赖太旧
2020年之后Python2 安全不⽀持不能再⽤了,
⽹站⽤的是letsencrypt免费证书,letsencrypt官⽅推荐acme客户端是,
但是在nginx on centos7上⽤的是 python2-certbot-nginx ,基于Python2的,(看了下centos8是使⽤的python3的,但是更新到8代价有点⼤)
所以cerbot也⽤不得了
nginx ssl证书配置
解决⽅案:acme.sh
在官⽅客户端列表⾥发现了⼀个⽤shell实现的:现在(2020年09⽉09⽇)有19K star
直接使⽤DNS⽅式⽣成泛域名证书,这⾥使⽤acme.sh配置let'sencrypt⽹址证书,过程如下(请以官⽹⽂档为主)
1安装参照官⽹
2到⾃动的域名供应商添加dnsapi key secret
3并
4配置nginx 只需要在原来的80 server的基础上更改443端⼝并添加证书配置就可以了,见下⽅红⾊代码部分
server {
listen 443;
server_name localhost;
ssl on;
index index.html index.htm;
ssl_certificate  /上⼀步你安装的位置/;
ssl_certificate_key  /上⼀步你安装的位置/clsn.key;
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;
root html;
location / {
root html;
index index.html index.htm;
}
}
5 重启nginx  :    service nginx force-reload, 不是 service nginx reload, 据测试, reload 并不会重新加载证书, 所以⽤的 force-reload
done

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。