Lucky反向代理配置指南:单域名接入5个以上后端服务
【免费下载链接】lucky软硬路由公网神器,ipv6/ipv4 端口转发,反向代理,DDNS,WOL,ipv4 stun内网穿透,cron,acme,rclone,ftp,webdav,filebrowser项目地址: https://gitcode.com/GitHub_Trending/luc/lucky
家里有网站、文件管理、管理后台等多台内网服务,希望通过同一个公网域名的不同子域名访问它们,Lucky 反向代理就是这个任务的直接实现路径。
核心机制速览
请求到达规则监听端口后,Lucky 按请求头中的 Host 域名字段查找子规则:命中自定义子规则则转发到该子规则的后端地址,未命中则回落到默认子规则;子规则配置了多个后端地址时,按索引轮询分配请求。完整匹配与转发逻辑可参考 config/reverseproxy.go。
- 子域名匹配,多服务共用端口
- 多后端地址轮询负载
- TLS 统一终结
- Basic 认证与 IP/UA 过滤内置
前置检查清单
- 确认后端服务正在目标端口监听,且从 Lucky 主机执行
curl http://192.168.1.100:8080可正常访问。 - 确认监听端口未被路由器上的其他服务占用,HTTP 用
80、HTTPS 用443。 - 确认前端域名已解析到路由器公网 IP,且域名与子规则中填写的一致。
- 需要启用 TLS 时,确认已在 SSL 证书页面添加该域名的有效证书。
主配置流程
新建一条监听 80 端口的主规则
在"反向代理"页面点击"添加反向代理规则":规则名称设为"家庭服务",监听类型勾选tcp4(有 IPv6 公网地址时同时勾选tcp6),监听地址留空表示监听所有地址,监听端口填80。若要走 HTTPS,先在 SSL 证书页面添加域名证书,再打开该规则的 TLS 开关;增加或删除证书后需重启规则新证书才生效。保存后将规则开关置为"开",监听即启动。
填写默认目标地址让规则先跑通
展开"默认子规则",在"默认目标地址"填入http://192.168.1.100:8080形式的后端地址。未匹配到任何域名的请求都会转发到这里,先用浏览器访问路由器内网 IP 验证服务可达,再进入域名匹配配置。
添加自定义子规则按前端域名匹配
在"反向代理子规则列表"中点击"添加反向代理转发子规则":前端域名一行一条,如blog.example.com;后端地址填http://192.168.1.101:80。Host 为该域名的请求将转发到此后端,其余 Host 继续走默认子规则。每接入一个子域名就重复一次该操作,子规则可独立开关。
填入多后端地址启用轮询负载
服务有多个实例时,在子规则的后端地址中一行填一个地址,如http://192.168.1.100:8080、http://192.168.1.101:8080、http://192.168.1.102:8080,Lucky 按索引依次轮询分发请求。默认子规则的默认目标地址同样适用该机制。
启用 Basic 认证保护管理后台
对敏感服务,在子规则安全设置中打开"BasicAuth 认证"开关并填写用户名与密码。此后访问该域名先经过 HTTP Basic 认证,凭证不通过直接返回 401。
用 IP 与 UA 过滤限制访问来源
子规则的"IP 过滤模式"默认为黑名单:在 IP 黑名单页面填入要拒绝的 IP 即可,也可切换为白名单模式,仅白名单 IP 可访问,过滤复用的是全局黑白名单及其有效时间(见 module/safe/)。"UserAgent 过滤"支持每行一个关键字,命中即按所选模式放行或拒绝,可用于拦截特定爬虫。
两个典型部署方案
方案一:单域名下多服务子域名化(以下 IP、端口为示例,可按需调整)
| 前端域名 | 后端地址 | 说明 |
|---|---|---|
blog.example.com | http://192.168.1.101:80 | 博客站点 |
cloud.example.com | http://192.168.1.102:8080 | 个人云盘 |
home.example.com | http://192.168.1.103:8123 | 智能家居 |
| 未匹配域名 | http://192.168.1.100:8080 | 默认子规则兜底 |
方案二:单域名 HTTPS 加多实例负载(可按需调整)
- 监听端口
443,TLS 启用,证书为app.example.com - 后端地址一行一条:
http://192.168.1.100:8080、http://192.168.1.101:8080、http://192.168.1.102:8080 - 启用 BasicAuth,管理入口需凭证访问
- 开启访问日志,最大记录条数设为
10000
排障速查
- 域名访问直接连接被拒:规则未开启、端口被占用,或路由器防火墙未放行监听端口。检查规则开关,在路由器上执行
ss -tlnp | grep :80确认监听,并检查防火墙放行配置。 - 页面返回 502/504:后端地址从 Lucky 主机不可达。在主机上执行
curl -v http://192.168.1.100:8080验证后端服务是否存活。 - HTTPS 访问证书报错:证书列表中没有该域名的有效证书,或添加证书后未重启规则。核对 SSL 证书页面,再重启规则。
- 白名单过滤时记录的客户端 IP 不对:前端还有一层转发时,需在子规则启用"优先从 Header 头部获取",并配置信任的代理 IP 网段与头部字段(如
X-Forwarded-For)。
主规则与子规则配置完成后,所有后端服务即可通过统一域名的子域名对外访问。排查问题时优先查看对应子规则的访问日志。
【免费下载链接】lucky软硬路由公网神器,ipv6/ipv4 端口转发,反向代理,DDNS,WOL,ipv4 stun内网穿透,cron,acme,rclone,ftp,webdav,filebrowser项目地址: https://gitcode.com/GitHub_Trending/luc/lucky
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考