网工干货知识

超全学习笔记
当前位置:首页 > 干货知识

使用NGROK的HTTP服务器,运行在本地主机之外。

更新时间:2026年03月27日   作者:spoto   标签(Tag):

An HTTP超文本传输协议服务器是一种程序,它负责处理来自客户端的HTTP请求,并将响应发送回客户端。HTTP是用于进行通信的协议。万维网而HTTP服务器则是网络基础设施中不可或缺的组成部分。

当用户输入内容时URL(统一资源定位符)被纳入他们的体系中。网页浏览器浏览器向URL中指定的服务器发送HTTP请求。HTTP服务器处理该请求后,会将其作为响应返回给客户端,通常是以某种形式呈现的。HTML文档或其他网络内容。

HTTP服务器的运作方式

Python中的http.server

Python该工具附带了一个名为 http.server 的内置模块,使用该模块可以轻松地创建一个简单的 HTTP 服务器。这个模块提供了用于实现 HTTP 服务器的相关类。网络服务器它可以用来提供静态文件,或者由Python脚本生成的动态内容。

Ngrok是什么?

Ngrok是一种工具,它可以将本地Web服务器暴露到互联网上。它通过一个由Ngrok生成的公共端点,与本地运行的Web服务之间建立了一个安全的通道,从而让用户可以從互联网上访问该本地服务器。

Ngrok的工作原理是:在您的本地服务器与Ngrok提供的公共端点之间建立一条安全通道。首先,您需要下载并安装Ngrok客户端到您的本地机器上。然后,运行相应的命令来创建从本地服务器端口到该公共端点的通道。

Ngrok是如何工作的?

Ngrok能够绕过这些限制。NAT通过创建具有长生命周期的对象,来实现对映射和防火墙限制的优化。TCP通过 ngrok.com 上随机生成的子域名(例如:3gf892ks.ngrok.com)来连接到本地机器。.

我们只需要使用一个 ngrok 命令,就可以建立 TCP 连接。这样,我们就能创建一个绕过所有障碍的隧道了。防火墙/NAT.

Ngrok的工作原理

Ngrok服务中的安全性问题

Ngrok安全隧道允许您无需更改任何网络设置或打开路由器的端口,即可立即访问远程系统。这意味着,我们的解决方案为您的开发设备提供了安全且可靠的连接通道。物联网任何可以访问互联网的设备,或者几乎任何能够连接互联网的设备。 当用户访问公共的 Ngrok 端点时,Ngrok 的边缘节点会确定请求的传输路径,然后通过加密的连接将请求转发给本地运行的 Ngrok 代理。 之后,当地的 Ngrok 代理会负责将流量发送到你的上游服务上。 Ngrok边缘节点与代理之间的通信是安全且经过加密处理的。 用户与 ngrok 边缘服务器之间的通信,以及 ngrok 代理与上游服务之间的通信,都依赖于您所使用的加密协议。 对于那些支持使用端到端加密的协议来说,TLS我们提供了TLS隧道选项。

在局域网之外启动Ngrok服务

请按照以下步骤来在局域网之外启动HTTP服务器。

步骤1:请使用下面的链接下载 Ngrok。

请访问 ngrok 服务的官方下载页面,然后下载适用于 Kali Linux 的 ngrok 版本。下载链接为:https://ngrok.com/downloads/windows

https://ngrok.com/downloads/windows

它将开始下载那个压缩文件了。

Ngrok已下载的文件

之后,我们将其提取出来。提取完成后,你会看到如下截图中所展示的 ngrok 文件。

Ngrok可执行文件

现在,我们需要提供一个认证密钥来运行 ngrok 服务。该密钥存储在已下载的仪表板中。您可以登录 ngrok 的官方网站,或者如果您是新创建的账户,也可以直接创建一个新的账户。

Ngrok认证令牌

请复制此命令,然后在终端中执行该命令。 ./在它之前:

例如:

./ngrok config add-authtoken <你的认证令牌>
在 Auth-Token中添加相关信息,以便将 NGROK 与账户进行连接。

现在,让我们检查一下,是否已经正确地设置了 ngrok 服务吧。

./ngrok http 8080
创建一个 HTTP 服务器

让我们开始吧。TCP连接在你的电脑上。港口8080。

如果你成功了,你会收到这条消息,同时还会得到一个包含URL的信息。端口转发。

成功的TCP连接

那么,让我们开始搭建我们的HTTP服务器吧。为此,我们需要Python3。请使用以下命令来下载Python3语言:

sudoapt安装 Python 3

步骤2为 http 服务器配置 Ngrok

假设有一个文件,我们需要将其共享给另一个不在同一网络中的系统。首先,我们将创建这个文件。ngrok服务/支援http在端口8080上运行(端口8080是用于Web界面的)。

打开那个终端窗口吧。ngrok请下载该文件后,再输入以下内容:

./ngrok http 8080

此命令将在一个HTTP端口上打开一个连接。8080在你的系统中,所有HTTP连接都可以通过它来传输。了解更多关于HTTP连接的信息吧。在这里。一旦您看到会话的状态在线请注意,位于端口8080的服务器正在您的网络之外运行一个HTTP服务器,因此可以允许来自外部网络的连接。链接只要点击那个链接,任何人就能通过 HTTP 端口进入您的系统。

Ngrok隧道已经开始建设了。

步骤3:如何使用 Python3 来配置 http.sever

在我们需要共享的目录中打开终端,然后在终端中执行以下命令。

python3 -m http.server 8080
该服务器是在 ngrok 隧道中启动的。

现在,请回到 ngrok 终端中,复制“链接转发”相关的内容。

请复制该链接以访问该文件。

现在,你可以将该链接分享给其他用户,这样他们就可以访问这个共享文件夹了。

共享目录

在这里,你可以看到 ngrok 提供的 URL,它通过将用户引导到共享文件夹上来实现连接。这个方式非常安全,使用完毕后,该文件夹会被立即删除,不会留下任何痕迹。

Ngrok的替代方案

  1. LocalTunnel:如果您希望将本地Web应用程序托管在云端,并且能够从公开可访问的URL地址访问这些应用程序,那么可以使用名为Localtunnel的免费隧道技术。它被认为是Ngrok的最佳替代方案。
  2. 服务员:Ngrok的另一个用户友好的选择是Serveo。使用Serveo,你可以无需安装任何第三方软件即可构建本地隧道。通过Serveo,SSH服务器还提供了端口转发功能,从而让本地运行的应用程序能够正常运作。
  3. Teleconsole:Teleconsole是另一种广受欢迎的替代方案。它提供了一种免费的服务,帮助用户能够将自己的终端会话分享给其他人。通过生成唯一的会话ID,Teleconsole使得用户可以通过互联网来共享自己的终端会话,而无需使用HTTP/HTTPS协议。不过,使用Teleconsole时必须非常谨慎,应该只向那些你完全信任的人透露相关信息,因为这样做相当于让这些人获得了对你终端的完全访问权限。

结论

切勿让 Ngrok 持续运行下去,因为那样会危及您的隐私安全。当共享过程完成后,请按 Ctrl+C 来终止与 Ngrok 以及 Python HTTP 服务器的连接。

              马上抢免费试听资格
意向课程:*必选
姓名:*必填
联系方式:*必填
QQ:
思博SPOTO在线咨询

相关资讯

即刻预约

免费试听-咨询课程-获取免费资料