ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

如何用反向代理与隧道安全暴露 wigolo 本地搜索服务:完整指南

如何用反向代理与隧道安全暴露 wigolo 本地搜索服务:完整指南 如何用反向代理与隧道安全暴露 wigolo 本地搜索服务完整指南【免费下载链接】wigoloThe go-to web for your AI coding agent — local-first search, fetch, crawl research over MCP. No API keys, no cloud, $0/query. Public beta.项目地址: https://gitcode.com/GitHub_Trending/wi/wigolowigolo 是一个本地优先local-first的 AI 搜索服务为 AI 编程代理提供搜索、抓取、爬虫与研究工具全程无需 API Key、不上云。当你想把它部署到 VPS、家庭实验室或容器集群让多个代理共享同一个知识缓存时就需要通过反向代理或隧道把本地服务安全地暴露给其他机器。这篇指南带你走完每一步从启动服务、配置 Bearer Token 认证到 TLS 终结与 Host 头重写帮你避免踩坑。三种暴露方式怎么选wigolo 的守护进程模式wigolo serve默认只绑定127.0.0.1仅对本机开放。要服务其他机器有三种典型拓扑方式适用场景难度 反向代理Caddy/nginx 等同一台机器上已跑其他服务域名固定⭐⭐ 出站隧道无公网 IP、快速临时共享⭐ 直接绑定 Token内网/隔离网络自有认证层⭐⭐无论选哪种wigolo 的官方推荐拓扑都是三步wigolo 绑定回环地址127.0.0.1:3333即默认值在前面终结 TLS —— 同机的反向代理或出站隧道依然保留 Bearer Token—— 隧道会把远端请求变成来自 127.0.0.1 的流量所以来源地址不能作为认证依据Token 才是真正的闸门这一设计哲学写在了自托管文档里docs/self-hosting.md第一步生成随机 Token 并启动服务wigolo 有一个fail-closed失败即关闭的绑定闸门一旦绑定到非回环地址而没有配置 Token服务会直接拒绝启动。这是防止误操作裸奔的关键机制。WIGOLO_API_TOKEN$(openssl rand -hex 32) wigolo serve --host 0.0.0.0生成后所有/v1、/openapi.json和 MCP 请求都必须携带Authorization: Bearer token头。/health端点保持开放方便负载均衡器做健康探测。 更稳妥的做法是用WIGOLO_API_TOKEN_FILE指向一个密钥文件systemd/Docker secret 模式避免 Token 出现在进程列表里。第二步反向代理终结 TLSwigolo 本身只提供纯 HTTP不处理 TLS。在代理层配置只需关注两点反代模式把 443 端口的 HTTPS 流量转发到127.0.0.1:3333Host 头重写MCP 端点必做/mcp和/sse端点有 DNS 重绑定防护只接受Host为回环地址或启动时--host精确值的请求否则返回403 host_not_allowed。即使 Token 有效也不例外。最干净的做法是让代理把Host重写为127.0.0.1再转发。REST 接口/v1/*不做 Host 限制只需正常转发 Bearer Token。⚠️ 常见坑--host 0.0.0.0启动不会自动白名单你的 LAN IP。要么绑定客户端实际访问的 IP如--host 192.168.1.20要么走代理重写 Host。第三步出站隧道无公网 IP 场景没有公网 IP 时出站隧道是最省事的方案# 1. 服务只绑定回环 wigolo serve --port 3333 # 2. 隧道把本地端口暴露为公网 HTTPS 地址 # 3. 所有远程调用携带 Bearer Token隧道模式下 wigolo 依然会拒绝携带浏览器Origin头的请求防止网页探测你的 Token远程调用方还无法通过 wigolo 探测守护进程本机的内网服务——这是双重保险。完整的 n8n/远程客户端对接示例含 Token 配置、超时设置与 TLS 注意事项见examples/n8n-remote-mcp/README.md内置安全清单你不需要额外做的防护wigolo 的守护进程在设计上假设网络是敌意的以下防护默认开启️SSRF 防护fetch/crawl/webhook 目标解析到内网或回环地址会被拒绝远程调用方无法借道探测你机器上的内部服务️DNS 重绑定防护Host头不匹配白名单的请求直接 403️浏览器来源拦截携带Origin头的请求在 Token 校验前就被 MCP/管理路由拒绝️资源限额请求体上限 1 MiB、并发上限 16、按工具类型的响应超时搜索 60s / 抓取 120s / 爬虫 300s全部可通过环境变量调整️密钥不落盘代理凭据自动存入 OS 钥匙串磁盘上只存无凭据的 URL生产部署小贴士持久化数据目录缓存、模型、密钥都在WIGOLO_DATA_DIR默认~/.wigolo下容器部署挂个命名卷即可进程随时可重启小内存机器设MAX_BROWSERS1控制无头浏览器内存峰值数据中心 IP 注意反爬系统会评估 IP 信誉机房 IP 可能过不了部分站点的人机验证这是所有 VPS 部署的共性限制健康检查/health始终开放可直接配给 Docker/K8s 探针官方 compose 文件已内置packaging/compose.serve.yml延伸阅读资料路径自托管完整指南含反向代理/隧道专节docs/self-hosting.mdREST API 与认证模型细节docs/rest-api.md隐私与安全模型全解docs/privacy-security.md守护进程 HTTP 服务实现src/daemon/http-server.tsREST 认证与路由src/daemon/rest/auth.tsDocker Compose 服务编排packaging/compose.serve.yml按这份指南走完后你的 wigolo 服务就能以 HTTPS Token 双保险的方式安全地服务于整张网络上的所有代理了。【免费下载链接】wigoloThe go-to web for your AI coding agent — local-first search, fetch, crawl research over MCP. No API keys, no cloud, $0/query. Public beta.项目地址: https://gitcode.com/GitHub_Trending/wi/wigolo创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表