结论:小皮面板申请 Let's Encrypt 证书走的是 ACME 协议的文件验证(HTTP-01),只要你的域名已经解析到这台服务器、80 端口对公网放通,在面板里点几下就能拿到证书,全程免费、有效期 90 天。
小皮面板申请 Let's Encrypt 证书的具体步骤是什么?
结论:路径是「网站 → 找到对应站点 → 管理 → SSL/HTTPS → Let's Encrypt」,填域名和邮箱,选文件验证后点申请。
- 先把域名 A 记录解析到服务器公网 IP,等
ping 你的域名 返回的 IP 与服务器一致再动手,DNS 没生效时申请必失败。
- 登录小皮面板,进入「网站」列表,在你需要加 HTTPS 的站点右侧点「管理」,找到「SSL」或「HTTPS」选项卡。
- 切到 Let's Encrypt 一栏,填写要签发的域名(支持一次填多个,如
www.gj0.com 和 gj0.com),填一个常用邮箱用于到期提醒。
- 验证方式选「文件验证」(面板会自动在站点根目录写入
.well-known/acme-challenge/ 校验文件),点「申请」,一般 10~30 秒返回成功。
- 申请成功后在同页面打开「强制 HTTPS」,面板会自动往站点配置里写入 301 跳转规则。
申请一直失败,最可能是哪几个原因?
结论:90% 的失败集中在三件事——80 端口不通、域名没解析对、站点根目录不可写。
- 80 端口没放通:Let's Encrypt 的服务器要从公网访问
http://你的域名/.well-known/acme-challenge/xxx。先在本地用 telnet 你的域名 80 或浏览器直接访问一个测试文件验证;Windows 上 netstat -ano | findstr :80 看监听,Linux 上 ss -lntp | grep :80。云服务器还要在安全组里放行 80 和 443,这是最常被漏掉的一步。
- 域名解析错或没生效:CDN、代理(比如套了 Cloudflare 橙云)会拦截验证请求,申请前先把记录改成「仅 DNS」或直连源站。
- 根目录权限问题:面板要往网站根目录写校验文件,目录属主不对或磁盘满都会导致写入失败;Linux 下把站点目录属主改成运行用户(如
www)再试。
- 国内服务器注意:未备案域名在部分云厂商会被拦截 80 端口访问,这种情况下 HTTP-01 验证走不通,只能改用 DNS 验证。
- 泛域名不支持:
*.gj0.com 这种通配符证书只能用 DNS-01 验证,文件验证一定失败——结论:要签泛域名,验证方式必须换成 DNS,并按面板提示添加 TXT 记录。
Let's Encrypt 证书 90 天就过期,怎么自动续签?
结论:Let's Encrypt 证书有效期固定 90 天,官方建议在剩余 30 天时续签;小皮面板自带定时续签,但前提是 80 端口长期可访问。
面板的续签任务依赖同一个 HTTP-01 验证通道,所以申请成功后就别再关 80 端口、别给站点加全站访问密码或 IP 白名单,否则续签会静默失败。稳妥做法是每 60 天登录面板看一眼证书剩余天数,或者到期前 20 天手动点一次「续签」。如果你用的是 DNS 验证签发的泛域名证书,续签同样要保证 TXT 记录能被自动更新(面板支持自动写入的 DNS 服务商才行)。另外提醒一个额度问题:Let's Encrypt 官方限制同一注册域名每周最多签发 50 张证书、同一组域名每周最多 5 张重复证书,反复删了重签容易触发限流,遇到报错先等 1 周再试。
证书装好了,浏览器还是提示不安全怎么办?
结论:先看证书是否真的生效,再排查混合内容,两者占问题总量的九成。
打开浏览器开发者工具的 Security 面板,确认证书颁发者是 Let's Encrypt、有效期覆盖当前时间。如果证书正常但地址栏仍显示感叹号,大概率是页面里还引用了 http:// 的图片、JS 或字体(混合内容),在源码里全局搜 http:// 换成 https:// 或协议相对写法即可。另外确认 443 端口在安全组和系统防火墙都已放行,否则 HTTPS 根本连不上。想省事的话,本站(GJ 站长论坛,www.gj0.com)这类站长社区里就有不少人分享过面板证书踩坑记录,遇到疑难也可以在社区发帖带上报错原文求助,比盲试快得多。
总结一句:小皮面板申请 Let's Encrypt 的核心就三点——域名解析到位、80 端口放通、验证方式选对(普通域名用文件验证,泛域名用 DNS 验证),剩下的交给面板;拿到证书后记得每 60 天检查一次续签状态,别等 90 天到期才发现站挂了。