第一步:准备 ACME 账户(用于申请免费证书)
在申请证书前,需要先配置一个自动化账户(通常使用 Let’s Encrypt)。
- 进入 1Panel 左侧菜单:“网站” -> “证书”。
- 点击 “ACME 账户” 选项卡,点击 “创建账户”。
- 输入您的常用 邮箱地址,并选择 Let’s Encrypt 作为生成机构,点击“确认”。
第二步:配置 DNS 验证(推荐方式)
为了实现自动续期,建议配置 DNS 验证(支持阿里云、Cloudflare、腾讯云等)。
- 在“证书”页面,点击 “DNS 账户” 选项卡。
- 点击 “创建账户”,根据您的域名提供商,填入对应的
API Key或Token。- 提示:如果不方便配置 DNS,也可以在下一步使用 HTTP 验证,但网站必须已通过 80 端口暴露在公网。
针对您使用 Cloudflare 的情况,要在 1Panel 中实现证书的自动申请与续期,最推荐的方式是使用 API Token(而不是 Global API Key,因为 Token 更安全且 1Panel 已全面支持)。
以下是详细的操作步骤:
在 Cloudflare 获取 API Token
- 登录 Cloudflare 控制台,点击右上角的 “我的个人资料” (My Profile)。
- 在左侧菜单选择 “API 令牌” (API Tokens),点击 “创建令牌” (Create Token)。
- 找到 “编辑区域 DNS” (Edit zone DNS) 模板,点击 “使用模板”。
- 配置权限:
- 权限:保持默认的
区域 (Zone)–DNS–编辑 (Edit)。 - 区域资源:选择
包括 (Include)–所有区域 (All zones),或者指定您具体的域名。
- 权限:保持默认的
- 点击“继续以查看摘要”,确认无误后点击 “创建令牌”。
- 复制生成的令牌字符串。请注意,这个令牌只会显示一次,请妥善保存。
第三步:在 1Panel 创建 DNS 账户
- 打开 DNS 账户管理:进入 1Panel,选择 “网站” -> “证书”,点击上方的 “DNS 账户”。
- 填入参数:
- 名称:任意起名(如
CF-Auth)。 - 类型:下拉选择 Cloudflare。
- EMAIL:填写您的 Cloudflare 登录邮箱。
- API Token:粘贴您刚才获取的 API Token 字符串。
- 重要提示:请勿填错位置,1Panel 明确提示 “请勿使用 Global API Key”。
- 名称:任意起名(如
第四步:申请 SSL 证书
- 回到 1Panel 的 “证书” 页面,点击 “申请证书”。
- 填写信息:
- 主域名:填写您的域名(如
yourdomain.com或*.yourdomain.com)。 - ACME 账户:选择您之前创建的 ACME 账户。
- 验证方式:选择 “DNS 验证”。
- DNS 账户:选择您刚创建的
CF-DNS。 - 自动续期:务必勾选,这样 1Panel 会在到期前自动为您更新证书。
- 主域名:填写您的域名(如
- 点击“确认”,1Panel 将自动调用 Cloudflare API 完成 DNS 解析校验并获取证书。
第五步:为程序创建反向代理网站
针对您在 /opt 目录下的那些 Docker 程序(如 Umami、WordPress 等),您需要逐个创建对应的“虚拟主机”。
- 进入 “网站” -> “网站”,点击 “创建网站”。
- 选择 “反向代理”。
- 基本信息设置:
- 主域名:输入您为该程序分配的域名(例如
umami.yourdomain.com)。 - 代理地址:输入
127.0.0.1:端口号(例如 Umami 默认是3000,WordPress 可能是8080,请参考您之前的配置)。
- 主域名:输入您为该程序分配的域名(例如
- 证书设置(关键):
- 在创建窗口的 “HTTPS” 模块,勾选 “启用 HTTPS”。
- 证书来源:选择 “申请证书”。
- 申请方式:建议选择 “DNS 验证”(选您刚才配置的 DNS 账户)或 “HTTP 验证”。
- 自动续期:勾选“开启”。
- 点击“确认”,1Panel 会自动开始:创建 Nginx 配置 -> 申请证书 -> 安装证书 -> 自动重启 OpenResty。