一、全新安装
适用于未安装 acme.sh 的用户,使用以下命令安装 acme.sh 客户端:
二、安装 acme.sh
curl https://get.acme.sh | sh -s email=my@example.com
或者:
wget -O – https://get.acme.sh | sh -s email=my@example.com
注意:说明:
注意:请将 my@example.com 替换为你的邮箱地址。
三、旧版升级
适用于已安装 acme.sh 的用户,请运行以下命令升级 acme.sh 客户端:
acme.sh –upgrade
四、方式一:使用主账号 API 密钥
1. 登录 腾讯云控制台,进入 访问管理 页面,单击左侧菜单栏的 访问密钥,进入 API 密钥管理页面。
2. 单击新建密钥,创建 API 密钥,并记录保存 SecretId 和 SecretKey。
五、步骤一:新建权限策略
1. 登录 腾讯云控制台,进入 访问管理 页面,单击左侧菜单栏的 策略,进入策略页面,并点击新建自定义策略。
2. 选择按策略语法创建 > 空白模板,填写基本信息,并将策略语法修改为以下内容,并单击完成。
{ "statement": [ { "action": [ "dnspod:DescribeRecordFilterList", "dnspod:DescribeRecordList", "dnspod:CreateRecord", "dnspod:DeleteRecord" ], "effect": "allow", "resource": [ "*" ] } ], "version": "2.0"}
注意:说明:
注意:如你需要更精细的权限控制,可根据实际需求修改策略语法,如配置资源六段式等,详情请参见 CAM-云解析 DNS。
六、步骤二:新建子账号并关联权限策略
1. 登录 腾讯云控制台,进入 访问管理 页面,单击左侧菜单栏的 用户列表,进入用户列表页面,并单击新建用户。
2. 在新建用户页面,选择快速创建。
3. 在快速新建用户页面,填写用户信息,访问方式选择编程访问。
4. 配置用户权限,仅选择刚刚创建的权限策略,并单击确定。
5. 单击创建用户,完成子账号创建。
6. 记录保存 SecretId 和 SecretKey。
七、申请证书
1. 将获取到的 SecretId 和 SecretKey 导入环境变量中,以便 acme.sh 调用。
export Tencent_SecretId="<Your SecretId>"export Tencent_SecretKey="<Your SecretKey>"
注意:说明:
2. 使用 acme.sh 申请证书,例如:
acme.sh –issue –dns dns_tencent -d example.com -d *.example.com
example.com为演示域名,*.example.com指example.com的所有下一级子域名,请将其替换为你的域名。运行后,acme.sh 将自动为你的域名example.com和其所有下一级子域名申请证书,并将证书文件保存在~/.acme.sh/example.com/目录下,并且会自动为你的域名配置证书自动续期任务,无需手动续期。
注意:说明:
注意:证书品牌由 acme.sh 脚本决定,其申请的证书品牌通常为 Let's Encrypt、ZeroSSL 等。
运行结果如下:
八、安装证书
注意:警告:
注意:acme.sh 不建议直接使用~/.acme.sh/目录下的证书文件,而是通过 acme.sh 提供的命令将证书安装到指定位置,以确保证书的正确使用和续期,详情请参见 Install the cert to Apache/Nginx etc,以下以 Nginx 为例。
acme.sh –install-cert -d example.com \\–key-file /path/to/keyfile/in/nginx/key.pem \\–fullchain-file /path/to/fullchain/nginx/cert.pem \\–reloadcmd "service nginx force-reload"
注意:请将example.com替换为你的域名,/path/to/keyfile/in/nginx/key.pem和/path/to/fullchain/nginx/cert.pem替换为证书实际路径,service nginx force-reload替换为你使用的 Web 服务重载命令。
完成申请后请将证书配置到你的网站中,以 Nginx 为例,示例如下:
server { listen 443 ssl http2; server_name example.com; # 请替换为证书实际路径 ssl_certificate /path/to/fullchain/nginx/cert.pem; ssl_certificate_key /path/to/keyfile/in/nginx/key.pem; ssl_session_timeout 5m; ssl_protocols TLSv1.2 TLSv1.3; ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-CHACHA20-POLY1305; # 推荐设置为on,若你需要将其设置为off,只需将下面的命令中的"on"替换为"off"即可 ssl_prefer_server_ciphers on; location / { root /nginx/www/html; }}
注意:完成后请重载服务。
九、联系我们
如果你在使用过程中遇到任何问题,欢迎报告 Issue,或者通过以下方式联系我们:
Issue:Report bugs to TencentCloud (DNSPod) DNS API。