查看“Acme.sh 使用”的源代码
←
Acme.sh 使用
跳到导航
跳到搜索
因为以下原因,您没有权限编辑本页:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
[[category:网络工具]] == 关于 == 通过 acme.sh 脚本,可以申请、自动更新证书。 项目相关地址: 1、[https://github.com/acmesh-official/acme.sh acme.sh 项目] 2、[https://github.com/acmesh-official/acme.sh/wiki/%E8%AF%B4%E6%98%8E 中文说明] '''支持的证书:''' * ZeroSSL.com CA(default) * Letsencrypt.org CA * BuyPass.com CA * SSL.com CA * Pebble strict Mode * Any other RFC8555-compliant CA '''支持的模式:'''(使用场景) * Webroot mode * Standalone mode * Standalone tls-alpn mode * Apache mode * Nginx mode * '''DNS mode''' * DNS alias mode * Stateless mode 以下只关注其 DNS mode 模式的“Automatic DNS API integration”方式。 (目前 acme.sh 支持大多数 dns 提供商,包括 Cloudflare、GoDaddy、Aliyun 等) 官方连接:'''[https://github.com/acmesh-official/acme.sh/wiki/dnsapi How to use DNS API]''' 参考: # [https://www.zatp.com/post/auto-update-ssl-with-acme/#cl-3 使用acme.sh自动签发和更新证书] # [http://snlcw.com/460.html 使用一键脚本轻松给 shadowsocks v2ray插件, v2ray,trojan申请免费证书] == acme.sh == === 安装、更新、卸载 === # '''安装''': ## 在线安装: ##: <syntaxhighlight lang="bash" highlight=""> curl https://get.acme.sh | sh # 或者 wget -O - https://get.acme.sh | sh </syntaxhighlight> ## 通过 git 安装: ##: <syntaxhighlight lang="bash" highlight=""> git clone https://github.com/acmesh-official/acme.sh.git cd ./acme.sh ./acme.sh --install </syntaxhighlight> #* 安装位置:“~/.acme.sh/”(若 root 用户安装,即:“/root/.acme.sh”); #* 安装好后,会自动为你创建 cronjob(计划任务), 每天 0:00 点自动检测所有的证书, 如果快过期了, 需要更新, 则会自动更新证书。 #* 查看已创建的 cronjob: #*: <syntaxhighlight lang="bash" highlight=""> [root@newjersey ~]# crontab -l 5 0 * * * "/root/.acme.sh"/acme.sh --cron --home "/root/.acme.sh" > /dev/null </syntaxhighlight> # '''更新''': #: <syntaxhighlight lang="bash" highlight=""> # 升级 acme.sh 到最新版 : acme.sh --upgrade # 如果你不想手动升级, 可以开启自动升级: acme.sh --upgrade --auto-upgrade # 你也可以随时关闭自动更新: acme.sh --upgrade --auto-upgrade 0 </syntaxhighlight> # '''卸载''': #: <syntaxhighlight lang="bash" highlight=""> acme.sh --uninstall </syntaxhighlight> #* 并同时卸载 cron 作业; === 其他命令 === == 证书管理 == === HTTP 认证方式 === 该方式 acme.sh 会在你的指定的网站根目录下自动生成一个文件,来验证域名所有权,然后自动完成验证并签发证书。 命令: : <syntaxhighlight lang="bash" highlight=""> acme.sh --issue -d mydomain.com -d www.mydomain.com --webroot /home/wwwroot/mydomain.com/ </syntaxhighlight> * 完成后会自动删除验证文件,无需多余操作。 === 证书安装 === 默认生成的证书都放在安装目录下:'''~/.acme.sh/''' 建议使用 '''--install-cert''' 命令指定目标位置,将证书文件复制到相应的位置: : <syntaxhighlight lang="bash" highlight=""> acme.sh --install-cert -d mydomain.com \ --key-file /path/to/ssl/private.key \ --fullchain-file /path/to/ssl/fullchain.pem \ --reloadcmd "service nginx force-reload" </syntaxhighlight> * 这里指定的所有参数都会被自动记录下来,并在将来证书自动更新以后,被再次自动调用,目前证书在60天以后会自动更新,无需任何操作。 === 证书删除 === 如果要撤销一个证书,使用: : <syntaxhighlight lang="bash" highlight=""> acme.sh --list acme.sh --revoke -d mydomain.com </syntaxhighlight> 如果要删除一个证书,使用: : <syntaxhighlight lang="bash" highlight=""> acme.sh --list acme.sh --remove -d mydomain.com </syntaxhighlight> == 详解:'''DNS认证方式(推荐)''' == 这种方式不需要服务器和公网 IP,只需要 DNS 的解析记录即可完成验证,一般主流域名服务商都提供 API 接口。 (目前 acme.sh 支持包括主流的 '''CloudFlare'''、DNSPod、'''Aliyun'''、Amazon Route53 在内的多达 131 个的域名 API,见:[https://github.com/acmesh-official/acme.sh/wiki/dnsapi How to use DNS API]) # 给 GoDaddy 自动颁发证书: #: <syntaxhighlight lang="bash" highlight=""> #(替换 GD_Key 为自己的) export GD_Key="sdfsdfsdfljlbjkljlkjsdfoiwje" #(替换 GD_Secret 为自己的) export GD_Secret="asdfsdafdsfdsfdsfdsfdsafd" #(<example.com> 为自己的域名) acme.sh --issue --dns dns_gd -d <example.com> [-d <example.com>] </syntaxhighlight> #* GoDaddy API Key 创建地址:[https://developer.godaddy.com/keys/ https://developer.godaddy.com/keys/] # '''给 CloudFlare 自动颁发证书''': #: <syntaxhighlight lang="bash" highlight=""> #(替换 CF_Key 为自己的) export CF_Key="sdfsdfsdfljlbjkljlkjsdfoiwje" #(替换 CF_Email 为自己的 GoDaddy 登录邮箱) export CF_Email="xxxx@sss.com" #(<example.com> 为自己的域名) acme.sh --issue --dns dns_cf -d <example.com> [-d <example.com>] </syntaxhighlight> #* CloudFlare API Key 创建地址:[https://dash.cloudflare.com/profile https://dash.cloudflare.com/profile]。 #* 配置步骤,1、先配置 DNS 解析,2、生成 CloudFlare API Key: #*# 在 CloudFlare 添加站点(根域名); #*# 在“DNS”项,添加记录(“类型”:A;“名称”:子域名的一级域名;“内容”:服务器IP); #*# 根据提示,修改域名供应商的 DNS 地址(在“DNS修改”将其 DNS 指定为 CloudFlare 的 DNS 地址); #*# 在 CloudFlare 将 SSL/TLS 更改为“完全”(Full); #*# 验证配置(ping 一下该域名,得到一个ip,查一查该ip是不是 CloudFlare 的地址) #* <syntaxhighlight lang="bash" highlight=""> CloudFlare 可用于“'''DNS 解析'''”和“'''CDN 加速'''”。 (此处只用其 DNS 解析的功能,因为国外的 CDN 反而可能导致降速) (如果 ip 被锁,倒是可以考虑使用其 CDN 功能拯救一下 ip) </syntaxhighlight> == FAQ == === “-bash: acme.sh: command not found” === 如果“acme.sh”命令提示:“-bash: acme.sh: command not found”,则先执行以下命令: : <syntaxhighlight lang="bash" highlight=""> source ~/.bashrc </syntaxhighlight> 再继续执行其他命令。 === 关于使用的 CA 机构 === 执行时,提示: : <syntaxhighlight lang="bash" highlight=""> [root@newjersey ~]# acme.sh --issue --dns dns_cf -d <example.com> [Tue Nov 30 23:12:51 UTC 2021] Using CA: https://acme.zerossl.com/v2/DV90 [Tue Nov 30 23:12:51 UTC 2021] Create account key ok. [Tue Nov 30 23:12:51 UTC 2021] No EAB credentials found for ZeroSSL, let's get one [Tue Nov 30 23:12:51 UTC 2021] acme.sh is using ZeroSSL as default CA now. [Tue Nov 30 23:12:51 UTC 2021] Please update your account with an email address first. [Tue Nov 30 23:12:51 UTC 2021] acme.sh --register-account -m my@example.com [Tue Nov 30 23:12:51 UTC 2021] See: https://github.com/acmesh-official/acme.sh/wiki/ZeroSSL.com-CA [Tue Nov 30 23:12:51 UTC 2021] Please add '--debug' or '--log' to check more details. [Tue Nov 30 23:12:51 UTC 2021] See: https://github.com/acmesh-official/acme.sh/wiki/How-to-debug-acme.sh </syntaxhighlight> : 即,acme.sh(从2021年8月1日起)默认 CA 换成了 ZeroSSL(需要注册账号才能使用)。 所以如果需要使用其他 CA:(两种方式) # 签发时指定: #: <syntaxhighlight lang="bash" highlight=""> # 本次使用 letsencrypt 机构的证书 acme.sh --issue --dns dns_cf -d <example.com> --server letsencrypt </syntaxhighlight> # 更改默认: #: <syntaxhighlight lang="bash" highlight=""> # 指定默认的证书机构为 letsencrypt acme.sh --set-default-ca --server letsencrypt </syntaxhighlight> #* 以后就算版本升级也将一直默认使用指定的 CA。
返回至“
Acme.sh 使用
”。
导航菜单
个人工具
登录
命名空间
页面
讨论
大陆简体
已展开
已折叠
查看
阅读
查看源代码
查看历史
更多
已展开
已折叠
搜索
导航
首页
最近更改
随机页面
MediaWiki帮助
笔记
服务器
数据库
后端
前端
工具
《To do list》
日常
阅读
电影
摄影
其他
Software
Windows
WIKIOE
所有分类
所有页面
侧边栏
站点日志
工具
链入页面
相关更改
特殊页面
页面信息