返回》

使用acme.sh自动解析并申请SSL证书图文教程

ACME(自动证书管理环境)是一个互联网工程任务组维护的协议,它允许自动化 Web 服务器证书的部署,acme.sh 是支持 ACME 协议流行的客户端之一,可以通过其实现 SSL 证书的自动申请、续期等。每次都要去申请SSL证书,对于很多小伙伴来说非常麻烦,特别是现在SSL证书开始要3个月申请一次,大家都觉得很不适应。这里搬主题就将为您介绍如何使用acme.sh自动申请SSL证书图文教程。安装 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 获取腾讯云 SecretId 和 SecretKey方式一:使用主账号 API 密钥登录 腾讯云控制台,进入 访问管理 页面,点击左侧菜单栏的 访问密钥,进入 API 密钥管理页面。点击新建密钥,创建 API 密钥,并记录保存 SecretId 和 SecretKey。方式二:使用子账号 API 密钥步骤一:新建权限策略登录 腾讯云控制台,进入 访问管理 页面,点击左侧菜单栏的 策略,进入策略管理页面,并点击新建自定义策略。选择按策略语法创建–空白模板,填写基本信息,并将策略语法修改为以下内容,并点击完成创建。{ "statement": [ { "action": [ "dnspod:DescribeRecordFilterList", "dnspod:DescribeRecordList", "dnspod:CreateRecord", "dnspod:DeleteRecord" ], "effect": "allow", "resource": [ "*" ] } ], "version": "2.0" } 说明:如您需要更精细的权限控制,可根据实际需求修改策略语法。步骤二:新建子账号并关联权限策略登录 腾讯云控制台,进入 访问管理 页面,点击左侧菜单栏的 用户列表,进入用户列表页面,并点击新建用户。选择快速创建,填写用户信息,并选择编程访问。配置用户权限,仅选择刚刚创建的权限策略,并点击确定保存。点击创建用户,完成子账号创建,并记录保存 SecretId 和 SecretKey。申请证书将获取到的 SecretId 和 SecretKey 导入环境变量中,以便 acme.sh 调用。export Tencent_SecretId="" export Tencent_SecretKey="" 例如:export Tencent_SecretId="AKIDxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" export Tencent_SecretKey="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" 使用 acme.sh 申请证书,例如:acme.sh --issue --dns dns_tencent -d example.com -d *.example.com 例如:acme.sh --issue --dns dns_tencent -d acme.dnstest.cc -d *.acme.dnstest.cc 运行后,acme.sh 将自动为您的域名申请证书,并将证书文件保存在~/.acme.sh/example.com/目录下,并且会自动为您的域名配置证书自动续期任务,无需手动续期。运行结果如下:后续操作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/keyfile/in/nginx/cert.pem; ssl_certificate_key /path/to/fullchain/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; ssl_prefer_server_ciphers off; ssl_prefer_server_ciphers on; location / { root /nginx/www/html; } } 完成后不要忘记重载服务哦~现在,请尽情享受 HTTPS 带来的安全吧!以上就是搬主题分享的如何使用acme.sh自动申请SSL证书图文教程。
THE END