当前位置: 首页 > 面试题库 >

ngrok如何在防火墙后面工作?

洪昊然
2023-03-14
问题内容

Ngrok(https://ngrok.com/)应该允许您通过转发将本地端口和服务公开给万维网。但是,如果我像这样打开本地计算机上的端口80:

ngrok 80

我回来了:

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

我知道对http://3a4bfceb.ngrok.com的任何请求都将发送到端口80上的本地计算机,但是如果我坐在NAT
/防火墙后面,这会阻止传入流量(一种非常常见的情况),该怎么办。ngrok是否会发起轮询请求来确定何时接收到数据


问题答案:

因为ngrok隧道 总是总是首先在客户端启动,所以 这就是它可以与服务器协商安全通道的方式。这是解决常规防火墙配置的好方法。

这是通过客户端打开一个长期的tcp连接在内部完成的,其中一个物理套接字连接中创建了许多逻辑套接字。这种技术称为流多路复用。使用此设置后,无需进行任何轮询,因为客户端和服务器仍具有完全双向的通信。

然后,客户端和服务器使用心跳机制保持活动状态,该机制确保连接是打开的并且可以正常工作,甚至会在出现错误或连接丢失/关闭时重新连接。

请参阅此以获取更多信息:github.com上的开发人员指南



 类似资料:
  • 基本概念 netfilter Linux 内核包含一个强大的网络过滤子系统 netfilter。netfilter 子系统允许内核模块对遍历系统的每个网络数据包进行检查。这表示在任何传入、传出或转发的网络数据包到达用户空间中的组件之前,都可以通过编程方式检查、修改、丢弃或拒绝。netfilter 是 RHEL 7 计算机上构建防火墙的主要构建块。 尽管系统管理员理论上可以编写自己的内核模块以与 n

  • 问题内容: 我有一个在两个不同的Digital Ocean小滴上运行的Elasticsearch集群。它们都是为专用网络而设置的,我有一个运行良好的UFW规则就可以正常运行的Mongo DB复制集,它只接受来自Droplet的特定(专用)IP地址的相关端口上的连接。 但是,我无法使用相同的方法(只有黄色)获得绿色的Elasticsearch集群运行状况。这意味着节点无法相互连接。 在elasati

  • 我有一个服务器写在JavaServerSocket。 我有一个客户端,它位于一个公司防火墙之上,除了公共端口之外,它阻止了所有东西。 我已在SMTP端口(#25)上启动服务器。 有防火墙的用户连接到它,到目前为止一切正常。 然后服务器处理ServerSocket.accept()。据我所知,它在一个随机端口上创建一个套接字(每次端口号都不同)。因为防火墙而失败。 我的问题是-如何制作ServerS

  • iptables 命令 防火墙分为硬件防火墙和软件防火墙 防火墙策略一般分为两种:开放和屏蔽 iptables 是 Linux 上常用的防火墙软件 iptables 一共有四张表和五条链 iptables (选项)[表名] (选项)[链名规则] (选项)[动作] 表: Raw 负责连接跟踪 Mangle 负责包处理 Nat 负责地址转换 Filter 负责包过滤 链名规则: PREROUTING

  • springboot开发的jar程序,运行在 windows server 2019 服务器上,前端链接后端 websocket 的地址类似:ws://192.168.1.2:7076/showabe/frontEndWebSocket?category=tv。只有关闭防火墙才能正常通信,如果打开防火墙即使设置放行端口号7076仍然无法通信,要如何做可以打开防火墙的情况下不影响 websocket