参考文献
https://github.com/acmesh-official/acme.sh/wiki/Run-acme.sh-in-docker
https://letsencrypt.org/zh-cn/getting-started/
不会就去可视化申请,但是有限制https://letsencrypt.osfipin.com/
cat ssl.yaml
version: '3.8' # 可以根据需要选择不同的版本
services:
acme:
image: neilpang/acme.sh
container_name: acme.sh
volumes:
- ./out:/acme.sh
#network_mode: host # 使用宿主机网络
command: daemon
进入容器
docker exec -it acme.sh /bin/sh
设置 Let's Encrypt 为默认 CA
acme.sh --set-default-ca --server letsencrypt
申请证书: 接下来,再次尝试申请证书,使用 –webroot 参数
这个参数是指定申请下来的的文件夹
acme.sh --issue -d www.xiaoliu.xn--6qq986b3xl --webroot /acme.sh
手动阿里云生成一个dns,手动更新dns
acme.sh --issue --dns -d www.xiaoliu.xn--6qq986b3xl --yes-I-know-dns-manual-mode-enough-go-ahead-please
把这个txt加入到你的阿里云的域名解析dns中
然后去阿里云检测是否生效
https://boce.aliyun.com/detect/dns?spm=a2c1d.8251892.domain-setting.ddetect.b4cc5b76tLeHI4&target=_acme-challenge.www.xiaoliu.%E6%88%91%E7%88%B1%E4%BD%A0&type=TXT
获取命令看记录是否存在
dns记录成功后再次执行
acme.sh --renew -d www.xiaoliu.xn--6qq986b3xl --dns --yes-I-know-dns-manual-mode-enough-go-ahead-please
特定文件夹保存
acme.sh --renew -d www.xiaoliu.xn--6qq986b3xl --dns --yes-I-know-dns-manual-mode-enough-go-ahead-please --cert-home /path/to/cert
阿里云api方式dns校验
https://usercenter.console.aliyun.com/#/manage/ak
步骤 1: 获取阿里云 API 凭证
登录到阿里云控制台。
导航到 AccessKey 管理 页面,创建一个新的 AccessKey(Access Key ID 和 Access Key Secret)。
记下这两个凭证。
首次申请
AliDNS_AccessKeyID="你的AccessKeyID" AliDNS_AccessKeySecret="你的AccessKeySecret" acme.sh --issue -d qinglong.xiaoliu.xn--6qq986b3xl --dns dns_ali --yes-I-know-dns-manual-mode-enough-go-ahead-please
中文域名申请
先拿txt记录
acme.sh --issue --dns -d ssl.xiaoliu.xn--6qq986b3xl --yes-I-know-dns-manual-mode-enough-go-ahead-plea
安装模块
pip3 install aliyun-python-sdk-core aliyun-python-sdk-alidns
python3 中英转换域名申请.py
import aliyunsdkcore.client
from aliyunsdkalidns.request.v20150109.AddDomainRecordRequest import AddDomainRecordRequest
# 初始化阿里云 API 客户端
client = aliyunsdkcore.client.AcsClient('Your_AccessKey_ID', 'Your_AccessKey_Secret', 'cn-hangzhou')
# 创建添加域名记录的请求
request = AddDomainRecordRequest()
request.set_DomainName("xiaoliu.我爱你")
request.set_RR("_acme-challenge.ssl")
request.set_Type("TXT")
request.set_Value("你从 acme.sh 获取的 TXT 记录值")
# 执行 API 请求
response = client.do_action_with_exception(request)
print(response)
****
添加完之后执行
acme.sh --issue --dns dns_ali -d "ssl.xiaoliu.xn--6qq986b3xl"
续订
AliDNS_AccessKeyID="你的AccessKeyID" AliDNS_AccessKeySecret="你的AccessKeySecret" acme.sh --renew -d www.xiaoliu.xn--6qq986b3xl --dns dns_ali --yes-I-know-dns-manual-mode-enough-go-ahead-please
查看证书信息
openssl s_client -connect www.xiaoliu.xn--6qq986b3xl:443
评论区