来源:docker运行acme.sh 安装配置泛域名证书 - 一个人的孤独自白 - 博客园
以阿里云为例:
docker run -itd \
-v "/root/acme.sh":/acme.sh \
-e Ali_Key="sdfsdfsdfljlbjkljlkjsdfoiwje" \
-e Ali_Secret="jlsdflanljkljlfdsaklkjflsa" \
--net=host \
--name=acme.sh \
neilpang/acme.sh daemon
docker exec acme.sh --issue --dns dns_ali -d 4ading.com -d a4ding.com -d *.4ading.com -d *.a4ding.com
泛域名放在后面。
listen 80; #如果硬性要求全部走https协议,这一行去除
listen 443 ssl http2; #如果硬性要求全部走https协议,这里去除ssl
server_name 4ading.com;
#ssl on; #如果硬性要求全部走https协议,这里开启ssl on
# 为什么这么改,参见代码下方链接
# ssl_certificate /root/acme.sh/aa.com/4ading.com.cer;
ssl_certificate /root/acme.sh/aa.com/fullchain.cer;
ssl_certificate_key /root/acme.sh/aa.com/4ading.com.key;
#ssl性能调优
#nginx 1.13.0支持了TLSv1.3,TLSv1.3相比之前的TLSv1.2、TLSv1.1等性能大幅提升
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers EECDH+CHACHA20:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5;
ssl_prefer_server_ciphers on;
ssl_session_timeout 10m;
#使用ssl_session_cache优化https下Nginx的性能
ssl_session_cache builtin:1000 shared:SSL:10m;
#OCSP Stapling 开启。OCSP是用于在线查询证书吊销情况的服务,使用OCSP Stapling能将证书有效状态的信息缓存到服务器,提高 TLS 握手速度
#ssl_stapling on;
#OCSP Stapling 验证开启
#ssl_stapling_verify on;
cer 推荐使用 fullchain.cer,以兼容一些应用,防止出现证书错误的情况。比如为知笔记,就不支持用默认的 cer 文件进行证书认证。
证书更新后需重启 nginx。
crontab -e
添加如下内容,保存:
10 0 * * * docker exec acme.sh --cron # acme.sh为容器名,每天0点10分执行