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

在Namecheap中使用Acme.sh无法生成多域名SSL证书

解决Acme.sh申请包含子域名的SSL证书时404验证失败问题

问题核心原因

你使用同一个-w参数指定了主域名的根目录,但子域名gestion.flata-tech.com的网站根目录与主域名不一致,导致Acme.sh放置的验证文件无法被子域名访问,触发404错误。

解决步骤

1. 确认子域名的实际根目录

登录Namecheap主机后台,查看gestion.flata-tech.com的域名配置,找到它对应的网站文件路径(比如你之前命令中用到的/home/flatrbcg/public_html)。

2. 为每个域名单独指定验证目录

Acme.sh支持多组-w参数,每个域名(或域名组)可对应自己的根目录。修改申请命令如下:

acme.sh --issue -d flata-tech.com -d www.flata-tech.com -w /home/flatrbcg/flata-tech -d gestion.flata-tech.com -w /home/flatrbcg/public_html --force

这里主域名与www子域名沿用原来的目录/home/flatrbcg/flata-tech,gestion.flata-tech.com使用它自身的根目录/home/flatrbcg/public_html,匹配你当前的主机配置。

3. 手动验证文件可访问性

在子域名的根目录下创建临时验证文件,排查路径与权限问题:

mkdir -p /home/flatrbcg/public_html/.well-known/acme-challenge
echo "test-content" > /home/flatrbcg/public_html/.well-known/acme-challenge/test.txt
chmod 755 /home/flatrbcg/public_html/.well-known
chmod 644 /home/flatrbcg/public_html/.well-known/acme-challenge/test.txt

访问https://gestion.flata-tech.com/.well-known/acme-challenge/test.txt,如果能看到test-content说明路径和权限正常;若仍返回404,需检查:

  • 子域名的根目录是否配置错误
  • 网站的.htaccess(Apache)或Nginx配置是否有重写规则拦截了该路径

4. 备选方案:使用DNS验证(避开文件路径问题)

如果文件验证始终无法解决,可改用Namecheap自动DNS验证,无需放置验证文件:

  1. 在Namecheap后台生成API密钥,并将服务器IP添加到API访问白名单
  2. 设置环境变量:
    export NAMECHEAP_API_USER="你的Namecheap用户名"
    export NAMECHEAP_API_KEY="你的API密钥"
    
  3. 执行证书申请命令:
    acme.sh --issue -d flata-tech.com -d www.flata-tech.com -d gestion.flata-tech.com --dns dns_namecheap --force
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 15:42:12