|
本帖最后由 fsunset 于 2022-2-17 09:02 编辑
> 默认为宿主机已安装好docker,未安装的参照docker官方文档安装即可.
> 本文仅为dnsapi校验方式获取证书.
1. 获取域名所在服务商的api信息(示例为阿里云)
1.1 登陆 https://www.aliyun.com/ 阿里云账号;
1.2 点击右上角控制台;
1.3 鼠标放在右上角头像处,跳出对话框点击assesskey管理;
1.4 进入后选择创建AssesKey,按提示完成步骤后获得AssessKeyID及AssessKeySecret;
2. 在阿里云域名-解析中添加记录做好域名解析,动态域名按论坛教程做好ddns;
3. 创建docker容器获取tls证书;
3.1 创建容器
```shell
docker run -itd --name="acme.sh" --net=host -v /path/to/local:/acme.sh -e Ali_key=YourAssessKeyID -e Ali_secret=AssessKeySecret --restart=always neilpang/acme.sh daemon
```
> /path/to/local为你本机需要储存证书的目录;YourAssessKeyID/Secret为此前获取的ID及Secret;
自此docker创建完成并运行;
3.2 申请证书
-----------------------------
> 2022/02/17 添加内容,现在acme.sh默认证书是zerossl的,zerossl需要eab较为麻烦,我们将默认CA修改为letsencrypt
```shell
docker exec acme.sh --set-default-ca --server letsencrypt
```
------------------------------
```shell
docker exec acme.sh --issue --dns dns_ali -d Prefix.YourDomain.com -d '*.YourDomain.com' --keylength ec-384
```
> Prefix.YourDomain.com为你做好解析的二级域名,*.YourDomain.com为泛域名; --keylength ec-384 为ECC证书,如去掉此项则为RSA证书;
4. 设置crontab任务自动续签
运行`crontab -e`编辑crontab文件,添加下面的内容并保存
```shll
*/10 0 * * * docker exec acme.sh --cron
```
教程结束,去你挂载的/path/to/local文件夹下看看吧;
另使用证书的时候建议使用fullchain.cer;否则部分浏览器仍然是小红锁;
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
|