资讯动态

ODS局域网访问实战:ods-proxy+mDNS打造设备名直达入口的完整指南

发布时间:2026/9/2 9:43:29 来源:尧图企业网站定制
ODS局域网访问实战ods-proxymDNS打造设备名直达入口的完整指南【免费下载链接】ODSTurn your PC, Mac, or Linux box into an AI server. LLM inference, chat UI, voice, agents, workflows, RAG, and image generation.项目地址: https://gitcode.com/GitHub_Trending/dr/ODSODSOsmantic Deployment System能把你的 PC、Mac 或 Linux 主机变成一台 AI 服务器集成本地大模型推理、聊天界面、语音、Agent 工作流与 RAG。但对很多新手来说装好 ODS 后手机却打不开网页——因为 ODS 的服务默认只绑定127.0.0.1局域网内的其他设备根本访问不到。本文带你用ods-proxy 反向代理 mDNS 设备名解析两分钟让全家设备通过http://ods.local直达你的 AI 服务器无需记 IP、无需改路由器。为什么默认装完手机打不开这是新手最常踩的坑。ODS 出于安全考虑默认把所有服务聊天界面、仪表盘、API绑定在回环地址127.0.0.1上✅ 在主机本机浏览器里可以正常访问❌ 手机、平板、笔记本扫不到连接直接失败官方文档 ods/docs/ODS-PROXY.md 对此有一段很形象的描述手机扫了二维码去访问http://ods.local打到 80 端口却什么都找不到然后放弃了。而解决方案就是两个搭档组件作用一句话说明ods-proxy局域网唯一入口一个跑在 80 端口的 Caddy 反向代理按子域名把流量分发给各个服务ods-mdns设备名自动广播通过 mDNS/Bonjour 让ods.local在整个局域网自动解析不用配 DNS一键启用 ods-proxy最快配置方法启用只需一条命令安装器的首次启动向导也会引导你完成ods enable ods-proxy启用后Caddy 会监听主机的 80 端口成为唯一对局域网开放的入口。其余所有 ODS 服务继续保持回环绑定——只开一个门门后各房间照常上锁这正是这套设计的安全核心。两个关键前提ods/docs/MDNS.md 的 Prerequisites 一节有详细说明ODS_PROXY_BIND0.0.0.0这是 ods-proxy 的默认值不用改mDNS/DNS/hosts 记录已发布各子域名ods-mdns服务会自动处理⚠️ 不要为了这一件事把全局BIND_ADDRESS设成0.0.0.0——那会把每一个服务都暴露到局域网恰好是这套代理设计要避免的安全风险。设备名直达7 个子域名各管什么ods-proxy 采用基于主机名的路由而不是路径路由。这样每个后端服务都保持在根路径Open WebUI 的 WebSocket、静态资源、OAuth 回调都不会出幺蛾子。路由规则定义在 ods/extensions/services/ods-proxy/Caddyfile 中访问地址指向服务用途http://ods.local302 跳转直达最友好的聊天入口http://chat.ods.localOpen WebUI (3000)主聊天界面http://dashboard.ods.localODS Dashboard (3001)运维管理面板http://talk.ods.localODS Talk (3001)移动端主人门户http://auth.ods.localdashboard-api (3002)Magic-link 登录兑换http://api.ods.localdashboard-api (3002)管理 APIhttp://hermes.ods.localhermes-proxy (9120)Hermes Agent启用后可用表中ods即你的设备名默认值来自ODS_DEVICE_NAME环境变量。七个名字全部解析到同一台主机的局域网 IP真正的分发由代理按 Host 请求头完成。这套设计还有一个隐藏福利一次登录全站通行。auth.ods.local兑换 Magic-link 时ods-sessionCookie 的 Domain 被设为设备名.local于是聊天、仪表盘、API 所有子域名共享同一份会话天然实现 SSO。mDNS 自动广播让 ods.local 自己喊出来ods-mdns是一个 systemd 服务定义见 ods/scripts/systemd/ods-mdns.service它通过 mDNS 把设备 IP 公告到局域网。各平台支持情况Linux✅ 基于python3-zeroconfavahi-daemon主流发行版开箱即用macOS✅ 系统自带 Bonjour 自动公告主机名.localWindows⚠️ mDNS 支持较碎片化官方尚未完整覆盖可用 IP 直接访问mDNS 的妙处在于改设备名即时生效。编辑.env修改ODS_DEVICE_NAME字母、数字、连字符最长 32 字符mDNS 服务每 30 秒轮询一次配置并自动重新广播连重启都不用。多台 ODS 共存时请给每台设备起唯一名字——官方推荐的姿势是kitchen.local、office.local、studio.local比两台设备都叫ods.local互相打架强得多。验证你的局域网入口启用后用任意一台局域网设备手机最直观测试浏览器输入http://设备名.local应看到 302 跳转到chat.设备名.local并打开 Open WebUI 聊天界面顺手把它添加到手机主屏幕PWA图标就和 ChatGPT 并排放着体验与 Apple TV、Sonos 等消费设备完全一致命令行党可以用curl http://chat.设备名.local/快速确认。代理本身在每个主机名的/health路径都返回ok方便健康探测。排障清单打不开 ods.local 的 3 个高频原因症状原因解决办法手机解析不了笔记本可以手机连了访客 WiFi / 隔离的 5GHz 频段两者连到同一 SSID全网络都解析不了路由器开启了 IGMP snooping不转发组播路由器高级设置里关闭该选项或直接用设备 IP仪表盘右上角随时可见能解析但很慢部分 Android 会激进缓存失败的 mDNS 查询开关一次 WiFi 或等几分钟如果彻底放弃了 mDNS设备依然可用——直接用 IP 访问即可关闭方式见 ods/docs/MDNS.md 的 Disabling mDNS entirely 一节。安全边界能开多远不能开多远ODS 的信任模型很明确建议新手牢记这条信任地图家庭可信局域网✅ 直接开放毫无问题Tailscale 私有网络✅ 同样安全Tailscale 自带身份认证层公网互联网❌ 永远不要直接把 80 端口暴露到公网如需外网访问请叠加 TLS 与额外认证层Tailscale 证书、自签名证书分发等方案见 ods/docs/ODS-PROXY.md 的 TLS 一节另外注意代理本身不添加认证层。它只是可信的闸门安全由各后端自己的机制兜底——Open WebUI 的登录、dashboard-api 的 API Key、Hermes 的 forward_auth 会话校验。所以只开一个口、后面各自上锁就是完整的安全模型。不想用代理如何绕过如果只需要临时访问某一个服务ods disable ods-proxy可以停掉代理容器。之后要么给单个服务的 compose 文件加ports:绑定要么全局设置BIND_ADDRESS0.0.0.0但如前所述这会暴露所有服务一般不推荐。服务清单与依赖关系详见 ods/extensions/services/ods-proxy/manifest.yaml。总结给 ODS 打开局域网大门其实只需要记住这三步ods enable ods-proxy— 启用 80 端口唯一入口mDNS 自动广播—ods.local全网自动解析零配置子域名直达—chat./dashboard./talk.各司其职一次登录全通整套能力由 ods/extensions/services/ods-proxy/compose.yaml 定义的 Caddy 容器驱动资源占用极小0.5 核 CPU、256MB 内存上限对 AI 服务器本体的性能几乎零影响。装完 ODS 后花两分钟打通这一步你的家庭 AI 服务器才算真正可用——随时随地打开手机即是入口。【免费下载链接】ODSTurn your PC, Mac, or Linux box into an AI server. LLM inference, chat UI, voice, agents, workflows, RAG, and image generation.项目地址: https://gitcode.com/GitHub_Trending/dr/ODS创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价