bore 自建内网穿透:三步把本地服务放到公网
bore 自建内网穿透三步把本地服务放到公网【免费下载链接】bore bore is a simple CLI tool for making tunnels to localhost项目地址: https://gitcode.com/gh_mirrors/bo/bore家里机器 127.0.0.1:8000 上的服务手机和笔记本都打不开——这是典型的内网问题。bore 是用 Rust 写的轻量隧道工具同一个可执行文件既能当公网服务端也能当本地客户端不依赖任何第三方服务几分钟就能完成 bore 内网穿透的自建部署。bore 适合谁、解决什么问题bore 刻意做得极简只干一件事转发 TCP 流量。相比常见的托管穿透服务它的定位有几点不同单一二进制客户端和服务端是同一个程序——公网机器跑bore server本地跑bore local完全自控流量走自己的服务器不用注册账号和域名带宽也不受限于他人代码量极小整个项目约 400 行 Rust想看实现读 src/server.rs 就够它适合把 Web 服务、API、开发站点暴露到外网的场景。它不做 UDP、不做负载均衡、也没有管理界面。部署 bore 前备齐三样东西一台有公网 IP 的 Linux 机器云服务器即可要求是端口能从公网访问两组端口7835 是固定的控制端口客户端在这里建隧道隧道端口范围默认 1024–65535可用参数收紧Rust 工具链或 Docker客户端跑在本地机器上需装好 Rust服务端同样可装 Rust或用 Docker 直接运行仓库内附 Dockerfilebore 三步跑通bore 服务器部署启动控制服务在公网服务器上先装好二进制再启动服务cargo install bore-cli bore server --secret 密码 --min-port 10000 --max-port 20000第一条安装 bore第二条启动服务端--secret设置连接密码--min-port/--max-port限定隧道可占用的端口。日志输出server listening即表示服务已起正监听 7835。本地建立 bore 隧道在本地机器假设服务已跑在 8000 端口安装 bore 并建隧道cargo install bore-cli bore local 8000 --to 服务器IP:7835 --secret 密码 --port 15000bore local 8000声明要转发本地 8000 端口--to指定服务器地址--port 15000请求固定的公网端口省略则随机分配。输出出现listening at 服务器IP:15000隧道就建好了 ✅外网验证访问公网地址用一台内网之外的设备如手机热点下的设备在浏览器打开http://服务器IP:15000或用命令检查curl http://服务器IP:15000看到本地 8000 端口的页面内容说明整条链路已通。把安全做在前面生成并保管 bore secret⚠️ 不设--secret时知道服务器 IP 的人都能建隧道。生产环境先用随机源生成强密码openssl rand -base64 32把结果同步给服务端和客户端。保管方式写入服务器上的密钥文件或导出为BORE_SECRET环境变量bore 会自动读取不要提交进代码仓库。另有一个边界要知道secret 只参与初次握手的 HMAC 质询实现见 src/auth.rs后续转发流量本身不加密。敏感服务建议配 Nginx 反代签发 HTTPS安全组只放行 7835 和你约定的隧道端口段。隧道不通时按这个顺序查进程服务器上ps aux | grep bore确认bore server还在运行控制端口本地执行curl -v telnet://服务器IP:7835超时就是云安全组/防火墙没放行 7835secret客户端报握手失败多半是两端的--secret不一致端口范围--port的值必须落在服务端--min-port/--max-port区间内且未被占用否则返回端口错误本地服务先在本地确认localhost:8000可达隧道正常时本地服务挂了也会报错跑通之后剩下的工作是稳定性把服务端注册成 systemd 服务实现崩溃自启前端加一层 Nginx 反代解决 HTTPS同一台服务器可服务多个客户端每个bore local各占一个独立公网端口。【免费下载链接】bore bore is a simple CLI tool for making tunnels to localhost项目地址: https://gitcode.com/gh_mirrors/bo/bore创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考