AWS 中的 TCP 中继功能(如 ngrok)

Posted

技术标签:

【中文标题】AWS 中的 TCP 中继功能(如 ngrok)【英文标题】:TCP Relay functionality (like ngrok) in AWS 【发布时间】:2017-05-19 17:27:10 【问题描述】:

我有一个在 ec2 windows 实例上运行的网站。我想在不打开 ec2 实例上的任何端口的情况下将其公开给公共端点。 ec2 实例上只允许出站连接。

如何将一些云资源/应用程序挂在我的网站前面,以便公共互联网上的某人可以访问它?我正在寻找的是一个 tcp 中继功能,来自公共 Internet 浏览器的呼叫只是以最小的努力路由到我在 ec2 上的本地网站。类似于此处解释的内容:https://serverfault.com/questions/760129/what-is-a-tcp-relay-and-when-is-it-used/760142

有人可以提出建议吗?或者如果 AWS 没有公开这样的中继功能,是否可以在 AWS-iot 中使用 websockets 来完成某些事情?

我发现 ngrok 是第 3 方工具,但我只想坚持使用 AWS 选项。

【问题讨论】:

【参考方案1】:

正是Classic Elastic Load Balancer 所做的。通常,有多个实例(因此称为“负载平衡器”),但这与您描述的仅使用一个实例完全一样。

ELB 是全局可访问的,然后它将流量转发到实例。没有人直接连接到您的实例。

当然,您必须在实例上打开一个端口才能让 ELB 访问它,但是您必须使用任何“中继”解决方案来做到这一点。这种访问只能限制在 ELB 本身。

【讨论】:

但是说你必须在网站的机器上打开一个端口(传入)。但是 ngrok 不需要那样的东西。我在这里读到:***.com/questions/23395129/…,看起来 ngrok 没有打开端口。

以上是关于AWS 中的 TCP 中继功能(如 ngrok)的主要内容,如果未能解决你的问题,请参考以下文章

如何在 C# Socket 中使用 ngrok tcp 隧道

如何让 Ngrok 固定(静态)端口 TCP

ngrok:tcp 转发到 25565(我的世界服务器)

使用 ngrok 使用 tcp 隧道将数据发送到 tcp 端口时出错

Ngrok SSH 连接被远程主机关闭

如何为 SQL Server 访问配置 ngrok