You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

acme.sh申请Let's Encrypt证书报Verify error无效响应如何解决

问题根因

acme.sh默认执行逻辑中会尝试修改.well-known/acme-challenge目录的所有者,以此匹配Web服务的运行用户,确保验证文件可被公网访问。当运行acme.sh的账户无对应目录的chown权限时,就会触发Operation not permitted报错,最终导致验证文件写入失败,证书申请流程中断。

解决方案
  • 方案1:禁用acme.sh自动修改权限逻辑(最便捷)
    只要运行acme.sh的账户本身对站点根目录有写入权限,可直接配置全局环境变量关闭默认的chown操作,配置永久生效:
acme.sh --set-default --env ACME_NO_CHOWN=1

配置完成后重新执行证书申请命令即可。

  • 方案2:手动授权对应目录权限
    如果你持有服务器sudo权限,可直接给运行acme.sh的账户开放站点目录下.well-known路径的所有权:
sudo chown -R 你的运行用户名:你的运行用户名 /home/path/to/example.com/.well-known

如果需要保留目录原有Web服务用户组属性,可改用权限叠加配置:

sudo chgrp -R 你的运行用户名 /home/path/to/example.com/.well-known
sudo chmod -R 775 /home/path/to/example.com/.well-known
  • 方案3:统一配置独立验证目录(适合多站点/权限管控严格场景)
    单独创建一个通用的ACME验证文件存放目录,比如/home/yourname/acme-challenge,给当前运行账户开放完整读写权限后,在Web服务配置中添加全局规则,将所有站点的/.well-known/acme-challenge/*请求统一指向该目录。后续所有证书申请都指定该目录作为webroot即可,无需修改各个站点目录的权限配置。

配置完成后可手动在验证目录下创建测试文件,公网访问确认路径通、权限正常后再重新发起证书申请。

内容的提问来源于stack exchange,提问作者cssyphus

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 21:24:00