进阶配置

AutoTLS

配置使用 Lolia FRP 的 AutoTLS 以自动签发HTTPS证书

AutoTLS 是 LoliaFRP-CLI 提供的自动化证书管理功能,让您无需手动配置即可为服务启用 HTTPS。

1. 工作原理

AutoTLS 是一项二合一的功能,启用时默认会同时启用 https2http 插件,即自动将本地的 HTTP 服务反代并暴露 HTTPS 服务。使用时请指向本地 HTTP 服务的端口(HTTPS服务需要进行额外的配置)。

在面板中开启 AutoTLS 并使用快捷启动时,客户端会在 本地 通过 TLS-ALPN-01 验证方式向 Let's Encrypt 自动申请证书并完成部署。

2. 前置条件

  • 隧道类型为 https
  • 本地服务为 http;若为 https 则需要额外配置,见第 5 节
  • 使用 使用 LoliaFRP-CLI 快捷启动,LoliaFRP-CLI 版本 >= 0.67.1;或使用 Lolia 图形化客户端启动,并确保 FRPC 处于最新版本

3. 开启 AutoTLS

  1. 打开隧道详情,在配置信息卡片中点击编辑。

  1. 在高级配置中打开 Auto TLS,然后确认保存。

  1. 重新启动隧道,frpc 会在启动时拉取新配置。

4. 证书存储路径

使用快捷启动时,证书默认保存在以下路径:

程序运行目录/.autotls-cache/
Docker 用户注意:请务必将 .autotls-cache 目录挂载为持久化卷,避免容器重建后重复申请证书。Let's Encrypt 对证书申请频率有限制,过量申请可能导致临时封禁。

5. 搭配自建 HTTPS 服务

某些时候您可能希望在自己的 HTTPS 服务(如 NGINX)上配置证书而不是使用 frp 的反向代理,以避免循环重定向之类的兼容性问题,这种情况下需要手动修改配置。

在网页中您会看到如下的配置文件:

[[proxies]]
name = ''
type = 'https'
customDomains = ['example.com']
httpRedirect = true

[proxies.plugin]
type = 'https2http'
localAddr = '127.0.0.1:80'

[proxies.plugin.autoTLS]
enable = true
email = 'your-mail@example.com'
cacheDir = './.autotls-cache'
caDirURL = 'https://acme-v02.api.letsencrypt.org/directory'

[proxies.transport]
bandwidthLimit = '10MB'
bandwidthLimitMode = 'server'

将[proxies.plugin]段删除,保留 autoTLS,并将 localIP 和 localPort 改成 NGINX 实际监听的地址,然后把网页服务器配置文件中 SSL 证书的路径填写为 cacheDir 的实际位置。我们给出了一个仅供参考的配置,请参照您机器上的配置修改:

[[proxies]]
name = ''
type = 'https'
customDomains = ['example.com']
httpRedirect = true
# 此处将 https2http 的本地删除后,需要重新指定 localIP 和 localPort,插在 proxies 下。
localIP = '127.0.0.1'
localPort = 80

[proxies.plugin.autoTLS]
enable = true
email = 'your-mail@example.com'
cacheDir = './.autotls-cache'
caDirURL = 'https://acme-v02.api.letsencrypt.org/directory'

[proxies.transport]
bandwidthLimit = '10MB'
bandwidthLimitMode = 'server'
此处展示的模板并不完整。请从管理面板复制完整的配置文件,然后修改最下方的 proxies 段,而不是直接照抄此处的内容填写。

启动时使用 frpc -c frpc.ini 启动,cacheDir 的位置在 CWD(程序的工作目录)下的 .autotls-cache 内。

以上。受篇幅限制,可能有些细节遗漏。