aso*_*erg 36 unix linux networking go
Ngrok(https://ngrok.com/)应该允许您通过转发向世界范围的Web公开本地端口和服务.但是,如果我在本地计算机上打开端口80,如下所示:
ngrok 80
Run Code Online (Sandbox Code Playgroud)
我回来了:
Tunnel Status online
Version 1.3/1.3
Forwarding http://3a4bfceb.ngrok.com -> 127.0.0.1:80
Forwarding https://3a4bfceb.ngrok.com -> 127.0.0.1:80
Web Interface http://127.0.0.1:4040
# Conn 0
Avg Conn Time 0.00ms
Run Code Online (Sandbox Code Playgroud)
据我所知,对http://3a4bfceb.ngrok.com的任何请求都将通过端口80进入我的本地计算机,但是如果我坐在阻止传入流量的NAT /防火墙后面(这是一种非常常见的情况).ngrok是否启动轮询请求以确定何时收到数据?
Ral*_*veo 99
由于ngrok隧道始终首先在客户端启动,因此它可以与服务器协商安全通道.这是解决传统防火墙配置的一个非常灵活的解决方案.
这是由客户端在内部完成的,它打开一个长寿命的tcp连接,其中在一个物理套接字连接中创建了许多逻辑套接字.该技术称为流复用.通过这种设置,不需要任何类型的轮询,因为客户端和服务器仍然具有完全双向通信.
然后客户端和服务器通过心跳机制保持活动状态,该机制确保连接打开并正常工作,甚至在出错或丢失/关闭连接时重新连接.
有关更多信息,请参阅此内容:github.com上的开发人员指南
| 归档时间: |
|
| 查看次数: |
13364 次 |
| 最近记录: |