nginx 容器安装 acme.sh
把 acme.sh 安装到 nginx 容器里的好处是方便管理,能随 nginx 启动而启动
原理
主要是利用了 linuxserver/nginx 容器的 custom-cont-init.d 目录,此目录可以放自己的脚本,当容器启动时会自动运行。注意:每次启动,包括重启都会运行。
把 acme.sh 安装到 nginx 容器里的好处是方便管理,能随 nginx 启动而启动
主要是利用了 linuxserver/nginx 容器的 custom-cont-init.d 目录,此目录可以放自己的脚本,当容器启动时会自动运行。注意:每次启动,包括重启都会运行。
记录一下调试 Nginx 使用 TLS 1.3+AES_128_GCM 时遇到的一些坑。
nginx环境中有其他站点没有启用 TLS 1.3 或者没有指定加密方式,所有站点均修改即可。
比如nginx下面有一个站只启用了 TLS 1.2,那么就算你其他站使用了 TLS 1.3,其他站也只能使用 TLS 1.2。
删除 nginx 配置里面的ssl_prefer_server_ciphers on;
或改为off
,才能使用AES_128_GCM
示例:
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;
error_page 497 https://$host$request_uri;
使用docker结合群晖计划任务实现Let's Encrypt 泛域名证书自动更新,最小限度的触碰系统文件,仅/usr/syno/etc/certificate/_archive目录会被更改。
acme.sh容器随用随时下载,保持最新,用完即删除,不占用磁盘空间。
脚本只需要修改主域名和DNSapi。可选配置同步证书目录,供nginx反代使用。
通过acme的docker自动获取Let's Encrypt证书,认证模式是DNS认证,好处是支持泛域名证书,对主系统无“污染”。
支持的DNS服务商见官方wiki:https://github.com/Neilpang/acme.sh/wiki/dnsapi
这里以Cloudflare的为例