Lucky 反向代理:一个域名接入多台服务的完整配置流程
【免费下载链接】lucky软硬路由公网神器,ipv6/ipv4 端口转发,反向代理,DDNS,WOL,ipv4 stun内网穿透,cron,acme,rclone,ftp,webdav,filebrowser项目地址: https://gitcode.com/GitHub_Trending/luc/lucky
Lucky 反向代理让你在一台网关主机上开一个统一入口:访问者用一个域名加固定端口就能触达内网里任意多台服务,按请求的 Host 自动分发到对应后端,支持负载均衡设置、Basic 认证、IP 访问控制与 HTTPS,后端真实地址对外完全隐藏。
一、配好之后,你的网络长什么样
先看结果。假设家里有一台 NAS 跑着三套服务,端口各不同:
- 3660 后台,跑在
192.168.31.36:80 - FileBrowser,跑在
192.168.31.180:28888 - 其他服务,端口再多也照旧
配置完成后,对外只需要一个入口:
3660.home.example.com→ 自动转到192.168.31.36:80fb.home.example.com→ 自动转到192.168.31.180:28888- 其余任何访问 → 落到你设置的默认地址
反向代理说白了就是一本"按域名查表转发"的分发簿:来访请求进来,先查表,再把流量送到表里登记的后端。对外只暴露域名和端口,内网哪台机器、哪个端口,全部藏在表里。Lucky 把这个过程收敛成"一条主规则 + 若干子规则"的结构,下面直接上手。
二、动手前三项自检
- Lucky 本体可用:浏览器能打开 Lucky 管理页,反向代理列表页能正常加载。
- 后端已摸清:把要代理的每台服务按
IP:端口记成一行,例如192.168.31.180:28888,并在本机直接访问一次确认服务活着。 - 入口已就绪:确定用公网域名还是内网域名,并且已把域名(或 A 记录)指到运行 Lucky 这台机器的 IP;只用 IP 直连访问的话,这一项跳过即可。
三、快速跑通第一个能访问的入口
主规则要填的 4 个参数
点页面底部的添加反向代理规则,弹窗上半部分就四个关键参数:
| 参数 | 填什么 |
|---|---|
| 规则名称 | 随手起名,例如home,方便日后识别 |
| 监听类型 | 勾选tcp4;需要 IPv6 访问就同时勾tcp6 |
| 监听地址 | 留空表示监听主机所有网卡,多数场景保持留空 |
| 监听端口 | 常用80,启用 TLS 时用443 |
TLS 开关先放着,等证书就位了再打开(见 4.4)。
子规则:一个默认、多个自定义
点添加后展开两个子规则区域:
- 默认子规则:处理所有没匹配到任何域名的请求,填「默认目标地址」即可;只用自定义域名访问的话可以留空。
- 自定义子规则:点添加反向代理转发子规则,「前端域名」一行一条,「后端地址」一行一条:
前端域名:fb.home.example.com 后端地址:http://192.168.31.180:28888Lucky 按请求 Host 的主机名匹配子规则,端口由监听端口决定。同一规则内域名不能重复,启动时会直接提示"前端域名冲突",看到就回去删掉重复的那条。
用日志确认它真的在转发
保存后把子规则的访问日志记录打开。日志里每条请求都会写明命中了哪个域名、指向哪个后端地址,一眼就能确认流量走没走对。
四、四个加固动作:让服务更稳也更安全
这一节不按功能讲,按目的讲。四个动作各解决一类问题,按需取用,实现细节可以对照源码模块 module/reverseproxy/。
多台实例分担流量
在「后端地址」里一行一个地填多个地址:
http://192.168.31.100:8080 http://192.168.31.101:8080 http://192.168.31.102:8080Lucky 按轮询顺序依次转发(见 GetLocation),默认子规则同样适用,不需要任何额外开关。
挡住未授权访问
打开BasicAuth 认证开关,填上用户名和密码。之后凡是走这条子规则的请求,浏览器都会先弹账号密码框,验证通过才放行。适合只给自己或少数人用的后台。
过滤恶意来源和爬虫
安全设置里有两组开关:IP 过滤模式(黑名单/白名单)和UserAgent 过滤模式(黑名单/白名单)。日常用黑名单模式即可,在过滤内容里逐行写上要挡的 IP 或 UA 片段;命中任一行即拒绝。注意:Lucky 的黑白名单库是全局的,在管理页的白名单/黑名单页面维护,反向代理这里只选模式。
防中间窃听:上 HTTPS
先在 Lucky 的 SSL 证书页把证书加进去,再回到规则里打开TLS开关。两个容易踩的点:证书列表为空时 TLS 会自动降级成普通 HTTP 并打日志;增加或删除证书之后要重启规则,新证书才生效。
五、按症状排查常见故障
访问不通
- 确认规则开关是打开的,子规则开关也是打开的。
- 在运行 Lucky 的这台机器上直接请求后端地址,排除后端本身挂了。
- 打开子规则日志:有日志说明请求到了 Lucky,问题多半在后端或网络;没日志就查域名解析是否指到了 Lucky、端口是否和监听端口一致。
证书报错
- 确认证书已添加且域名匹配:通配符覆盖、SAN 列表里有没有当前访问的域名。
- 看一下有效期,过期证书会直接被浏览器拒绝。
- 改过证书就重启一次规则,不重启等于没改。
认证进不去
- 核对账号密码,浏览器会缓存 Basic 凭证,改完密码建议换个窗口重试。
- 确认这条子规则的 BasicAuth 开关确实是开的。
- 看日志里的拒绝原因:IP 和 UA 过滤都发生在认证之前(见 ReverseProxyHandler),被过滤掉的请求根本走不到认证环节。
六、日常运营习惯
- 给重要子规则常开访问日志,最大条数按磁盘空间取一个够用值。
- 定期把反向代理配置导出备份一份,改之前留底。
- 记一下证书到期时间,到期前在 SSL 页续上。
- 黑名单里处理完事件的 IP,过段时间清一清,别把列表养肥。
- 改完规则顺手发一条测试请求,确认日志里指向正确再收工。
添加你的第一条规则,挂上一台服务,打开日志确认它走通了——剩下的事都是重复这一遍。
【免费下载链接】lucky软硬路由公网神器,ipv6/ipv4 端口转发,反向代理,DDNS,WOL,ipv4 stun内网穿透,cron,acme,rclone,ftp,webdav,filebrowser项目地址: https://gitcode.com/GitHub_Trending/luc/lucky
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考