【问题标题】:How to create TCP tunnels with Pagekite如何使用 Pagekite 创建 TCP 隧道
【发布时间】:2022-05-16 20:20:35
【问题描述】:

在网络方面,我是一个完整的初学者,我正在尝试使用pagekite 在我的机器上设置 TCP 隧道。我想将所有流量从一个 TCP 地址路由到我的本地主机上的一个端口,比如说 8080。然后我会在 localhost:8080 上启动一个处理程序来处理传入的流量。我只需通过ngrok tcp 8080 就可以让它与ngrok 一起使用,但是在免费的ngrok 计划中我无法保留tcp 地址并且ngrok 相当慢,所以我选择尝试使用pagekite

Pagekite 通常允许轻松地通过隧道连接到 HTTP 地址,但他们有一个指南 here 关于如何使用 PuTTY 和 Pagekite 创建由 HTTP 代理的 TCP 隧道。

我遵循了他们的指南,但可以使用一些帮助来确定它是否符合我的要求。

我正在使用 Linux VM,所以我首先使用 openssh 设置了一个 SSH 服务器,如下所示:sudo service ssh start

然后我使用 pagekite 暴露了 SSH 服务器,如下所示:python3 pagekite.py 22 ssh:user.pagekite.me

然后我启动了 PuTTY,并在端口 22 上将主机名配置为 user.pagekite.me,在端口 443 上使用代理主机名 user.pagekite.me 设置 HTTP 代理,最后使用源端口 8080 从 PuTTY 机器创建一个隧道,目的地localhost:8080

现在我不确定这实际上完成了什么。我知道 PuTTY 机器连接到在我的 VM 上运行的 ssh 服务器,并且我能够从 PuTTY 终端使用 linux 终端,但这实际上是否创建了从 user.pagekite.me:8080localhost:8080 的 TCP 隧道?此外,在这样做之后,如果我尝试在 localhost:8080 上设置处理程序,我会收到以下错误:

Handler failed to bind to 0.0.0.0:8080
Rex::BindFailed The address is already in use or unavailable: (0.0.0.0:8080).

再一次,我对网络一无所知,所以如果有人能解释我在做什么,甚至可以按照我的方式做我想做的事,那将非常有帮助。

【问题讨论】:

    标签: networking tcp putty ngrok pagekite


    【解决方案1】:

    您不应该关心user.pagekite.me:xyz,这是用户将连接到的,用户将连接到user.pagekite.me 并完成。

    这如何在您的本地服务器上连接到您? 好吧,您通过 PuTTY 或类似方式在 localhost:port 上接收连接,哪个端口? 你在终端写的端口python3 pagekite.py (port) user.pagekite.me

    在您的情况下,PuTTY 将连接到 localhost:22 而不是 8080

    这是来自 pagekite 网站

    Pagekite quick start guide

    放风筝 - Apache、nginx、...

    假设您在本地机器的 80 端口上运行了一个 Web 服务器(例如 Apache 或 Nginx),以下命令将使其公开可见:

    $ pagekite.py 80 foo.pagekite.me 这会将您的 localhost:80 网络服务器连接到公开可见的http://foo.pagekite.me/。更重要的是,它还允许您在https://foo.pagekite.me/ 上使用 SSL/TLS 加密。我们建议尽可能使用加密版本!

    您可以将 80 替换为其他端口号(3000 和 8000 是 Web 开发的常用值)。

    【讨论】:

      猜你喜欢
      • 2021-03-27
      • 2011-12-31
      • 2012-09-16
      • 2010-12-26
      • 2012-03-28
      • 2018-02-14
      • 2022-01-05
      • 2016-08-17
      相关资源
      最近更新 更多