ngrok - Introspected tunnels to localhost (homepage)
”我想在 internet 暴露一个在 NAT 或 防火墙 后面的本地服务器。”
什么是 ngrok?
ngrok 是一个反向代理,它创建从公共端点到本地运行的 web 服务的安全隧道。
ngrok 捕获并分析隧道内的所有流量,以备日后检查和回放。
ngrok 2.x
Ngrok2.x 是 1.x 的继承者,也是当前所有开发工作的重点。其源代码不开源。
NOTE 此仓库包含 ngrok 1.x 的代码。
ngrok 1.x 项目的现状
ngrok 1.x 不再由其作者开发、支持或维护,除非是为了确保项目继续编译。贡献原则有以下指导原则:
- 此仓库的所有问题都将关闭,除非它们证明 ngrok 功能崩溃或其他完全故障。
- 此存储库的所有问题仅适用于 1.x,2.x 的任何问题都将关闭。
- 不会添加新功能。任何具有新功能的拉取请求都将被关闭。请把 fork 这个项目代替。
- 我们欢迎修复现有 bug 或改进文档的请求。
ngrok 1.x 托管服务
从 2013 年初到 2016 年 4 月 7 日,ngrok.com 运行了 1.x 的“随心所欲”托管服务。之后,它只运行 2.x 服务。
生产使用
请勿在生产环境中运行此版本的 NGROK(1.X). 众所周知,客户端和服务器都存在严重的可靠性问题,包括内存和文件描述符泄漏以及崩溃。由于服务器是 SPOF,因此也没有 HA 的故事。建议您对任何生产质量系统运行 2.0。
我能用 ngrok 做什么?
- 将 NAT 或防火墙后面的任何 http 服务公开到 ngrok.com 子域上的 internet
- 在 ngrok.com 的随机端口上向 internet 公开 NAT 或防火墙后面的任何 tcp 服务
- 检查通过隧道传输的所有 http 请求/响应
- 重复通过隧道传输的任何请求
ngrok 的用途是什么?
- 暂时共享仅在开发计算机上运行的网站
- 在 hackathon 上演示应用程序而不部署
- 通过允许您重播这些请求来开发任何使用 Webhook(HTTP 回调)的服务
- 通过检查 HTTP 通信量来调试和理解任何 web 服务
- 在通过防火墙从 internet 断开的计算机上运行网络服务