使用 Lucky 配置 DDNS、反向代理与 SSL 教程
为了安全且稳定地在公网访问您的 Leelaa Reader 服务,推荐使用 Lucky (大吉) 进行全自动化配置。Lucky 是一款国产、高性能、配置简单的反向代理工具,支持自动申请 SSL 证书、DDNS 解析等功能。
1. Lucky DDNS 配置
如果您使用的是动态公网 IP(如电信/联通宽带),需要先配置 DDNS 确保域名始终指向您的服务器。
- 登录 Lucky 后台:进入「动态域名解析 (DDNS)」模块。
- 添加任务:
- 托管服务商:选择您的域名服务商(如阿里云、腾讯云、Cloudflare 等)。
- 域名列表:输入您的二级域名(如
leelaa.yourdomain.com)。 - 获取方式:通常选择
接口获取 (IPv4)或接口获取 (IPv6)。 - 解析记录类型:根据您的网络情况选择
A(IPv4) 或AAAA(IPv6)。 - 注意:国内大部分宽带目前仅提供公网 IPv6,如果您没有公网 IPv4,请务必选择 IPv6 相关配置。
- 保存并运行:点击保存后,Lucky 会自动同步您的公网 IP 到域名服务商。
2. SSL 证书申请
SSL 证书是开启 HTTPS 访问的必要前提。Lucky 支持通过 ACME 协议自动申请并续签证书。
- 进入「证书管理」:在侧边栏找到并点击「证书管理」,然后点击「添加证书」。
- 基础配置:
- 备注:建议填写
Leelaa-SSL。 - 证书颁发机构 (ACME):
- Let's Encrypt (推荐):免费、兼容性好。
- ZeroSSL:另一个常见的免费选项。
- 备注:建议填写
- 添加域名:
- 在「域名列表」中输入您的访问域名,例如
leelaa.yourdomain.com。 - 如果您有多个子域名,也可以输入泛域名(如
*.yourdomain.com),这样该证书可以通用于该域名的所有二级域名。
- 在「域名列表」中输入您的访问域名,例如
- 配置 DNS 验证 (DNS Challenge):
- 验证方式:选择
DNS 验证(这是最推荐的方式,不需要暴露 80 端口)。 - DNS 服务商:选择您的域名服务商(如阿里云、腾讯云、Cloudflare、华为云等)。
- API Key / Secret:
- 阿里云:需要
AccessKey ID和AccessKey Secret。 - 腾讯云:需要
SecretID和SecretKey。 - Cloudflare:建议使用
API Token(选择具有 DNS 编辑权限的 Token)。
- 阿里云:需要
- 注意:这里的 API 信息通常与第一步 DDNS 配置时使用的一致。
- 验证方式:选择
- 保存并申请:
- 点击「确定」后,Lucky 会自动向证书颁发机构发起申请。
- 此时 Lucky 会在您的域名下自动添加一条临时的
_acme-challengeTXT 解析记录。 - 等待完成:申请过程通常需要 1-5 分钟。申请成功后,证书列表中的状态会显示为「正常」,并标注到期时间。
- 自动续签:Lucky 会在证书到期前自动尝试续签,只要您的 DNS API 信息有效,您无需手动操作。
3. 配置反向代理 (Web 服务)
这是将公网请求安全转发到 Leelaa Reader 的核心步骤。
- 进入「Web 服务」:点击「添加规则」。
- 规则配置:
- 规则名称:
Leelaa-Reader。 - 监听端口:建议输入
443(HTTPS 标准端口)。 - ⚠️ 重要提示 (针对国内宽带用户):
- 80/443 端口封锁:国内大部分家庭宽带(如电信、联通、移动)都封锁了 80 和 443 端口。
- 备选方案:如果 443 无法访问,请将监听端口修改为其他高位端口(如
8443、666或任何未被占用的端口)。 - 访问方式:使用非标准端口后,您的访问地址将变为
https://您的域名:端口号。
- 开启 HTTPS:勾选,并选择刚才申请的 SSL 证书。
- 规则名称:
- 添加 Web 子规则 (反代):
- 子规则类型:反向代理。
- 匹配模式:前端域名(输入您的域名)。
- 后端地址:填写 Leelaa Reader 的内网地址,例如
http://192.168.1.10:8686。
- 安全加固 (注意事项):
- ⚠️ 禁止开启 Basic Auth:虽然 Lucky 提供了 Basic Auth(基础认证)功能,但 请勿在 Leelaa Reader 的反代规则中开启它。
- 原因:开启 Basic Auth 后,Leelaa Reader 的 Flutter 客户端(App)将无法通过认证,导致无法登录或连接服务。
- 安全建议:Leelaa Reader 自身已具备完善的登录认证体系,配合 HTTPS 加密即可确保公网访问安全。如果您确实需要额外防护,请确保仅在 Web 端访问时使用,或考虑其他网络层级的安全方案。
4. 验证访问
配置完成后,您可以使用 https://您的域名 直接访问 Leelaa Reader。由于配置了 SSL 证书,浏览器地址栏会显示绿色的安全锁,数据传输也将被加密,极大提升了公网环境下的安全性。
