面板与 NAS
1Panel 申请和配置 SSL 证书
在 1Panel v2 里先建 ACME 账户和 DNS 账户,再申请 Let's Encrypt 证书,然后在网站设置里开启 HTTPS 和 HTTP 跳转,面板会在证书到期前自动续签。菜单和按钮名称以面板实际界面和官方文档为准。
前提条件
申请证书需要一个已建好的站点、指向服务器的 A 记录,以及 HTTP 验证或 DNS 验证其中一种条件。
- 已安装 1Panel v2,并在“网站”里创建了绑定
example.com的站点(OpenResty)。 - 域名 A 记录指向服务器公网 IP,例如
203.0.113.10;服务器在中国大陆且要对外提供网站访问的,域名需已备案。 - 用 HTTP 验证时:安全组和防火墙放行 80、443 端口。
- 用 DNS 验证时:域名 DNS 在 1Panel 支持的服务商,并准备好只能管理解析的 API 密钥。
第一步:创建 ACME 账户
ACME 账户决定证书由哪家 CA 签发。打开 1Panel 的 网站 → 证书 → ACME 账户 → 创建,填写邮箱,CA 选择 Let's Encrypt,密钥类型保持默认即可,保存。
第二步:创建 DNS 账户(推荐)
有了 DNS 账户,1Panel 申请证书时会通过服务商 API 自动添加和删除验证用的 TXT 记录。在证书页面点 DNS 账户 → 创建,选择服务商(阿里云、腾讯云/DNSPod、Cloudflare 等),填写对应的 AccessKey/SecretKey 或 Token,保存。
第三步:申请证书
在 证书 → 申请证书 里填写申请表,并打开自动续签:
- 主域名 填
example.com,“其他域名”填*.example.com或www.example.com。 - ACME 账户 选第一步创建的账户。
- 验证方式 选 DNS 账户(不需要 80 端口,可签通配符);只有单域名且 80 端口可用时也可以选 HTTP 验证。
- 打开“自动续签”。
提交后在证书列表里查看申请状态和日志,状态变为已签发即成功。
第四步:为网站启用 HTTPS
在网站列表选中站点,打开 配置(或设置)→ HTTPS:启用 HTTPS,证书来源选“已有证书”并选择刚签发的证书,HTTP 选项选“访问 HTTP 自动跳转到 HTTPS”,保存。确认全站正常后再考虑开启 HSTS,见 开启 HSTS。
验证
配置正确时,颁发者是 Let's Encrypt,到期时间在未来,HTTP 请求返回 301 跳转。用 SSL 证书检查 从外部检查,或在终端运行:
curl ssl.sh/example.com
curl -sI http://example.com | grep -iE '^(HTTP|location)'
openssl s_client -connect example.com:443 -servername example.com </dev/null 2>/dev/null | openssl x509 -noout -issuer -dates
自动续期
申请时打开了自动续签的证书,1Panel 会在到期前自动续期,并更新使用该证书的网站。要让它一直有效:
- DNS 账户的密钥不要删除或轮换后忘记更新;HTTP 验证的站点不要关闭 80 端口或拦截验证路径。
- 定期在证书列表查看状态和续签日志。
- Let's Encrypt 默认证书 2027 年 2 月 10 日起为 64 天、2028 年 2 月 16 日起为 45 天,续签频率会提高,自动续签必须一直开着。
Let's Encrypt 已不再发送到期提醒邮件,建议把域名加到 ssl.sh 监控(开发中) 作为独立检查。
常见问题排查
- DNS 验证失败:密钥错误或权限不足、域名 DNS 不在所选服务商、TXT 记录未生效,检查 DNS 账户配置和申请日志。
- HTTP 验证超时:80 端口不通或未备案被拦截,见 certbot 连接超时,原因相同。
- CAA 记录阻止签发:CAA 记录没有允许所选 CA,见 CAA 记录阻止签发。
- too many certificates already issued:反复申请触发频率限制,见 Let's Encrypt 频率限制。
- 访问子域名提示证书不匹配:证书里没有该子域名,或二级子域名不在通配符范围内,见 NET::ERR_CERT_COMMON_NAME_INVALID。
常见问题
1Panel 的 ACME 账户选哪家 CA?
默认用 Let's Encrypt 即可,免费、无需额外注册。1Panel 也支持 ZeroSSL、Google 等 CA(以界面选项为准),用这些 CA 时可能需要 EAB 凭据;无论用哪家,域名的 CAA 记录都要允许它。
DNS 账户的密钥需要什么权限?
只给解析管理权限:阿里云用 RAM 子账号授予云解析 DNS 权限,腾讯云用子用户授予 DNSPod 权限,Cloudflare 用只含 Zone → DNS → Edit 的 API Token。不要用主账号密钥。
证书能给面板之外的服务用吗?
可以。证书详情里可以下载证书文件,部分版本还支持把证书推送到本地目录供其他程序使用(以面板功能为准)。注意自动续签后新证书只会自动更新面板内的网站,外部程序需要自己重载。