网站搜索

如何使用 Ngrok 测试 Internet 上的本地网站或应用程序


您是网站或移动应用程序开发人员,并且想要将 NAT 或防火墙后面的 localhost 服务器暴露给公共 Internet 以进行测试吗?在本教程中,我们将展示如何使用 ngrok 安全地执行此操作。

Ngrok 是一款出色的免费开源跨平台反向代理服务器,用于通过安全隧道将 NAT 和防火墙后面的本地服务器暴露给公共互联网。这是一个出色的计算机程序,您可以使用它直接在家中实施个人云服务。

它本质上是建立到您的本地主机的安全隧道,从而使您能够:在实际部署之前运行网站演示、测试连接到本地运行后端的移动应用程序以及在您的开发计算机上构建 Web-hook 使用者。

恩格罗克特点:

  • 易于安装,对任何主要平台都具有零运行时依赖性,并且运行速度快。
  • 支持安全隧道。
  • 捕获并分析隧道上的所有流量以供以后检查和重放。
  • 允许您取消路由器中的端口转发。
  • 启用 HTTP 身份验证(密码保护)的实施。
  • 使用 TCP 隧道公开不使用 HTTP 的网络服务,例如 SSH。
  • 仅支持使用 SSL/TLS 证书的 HTTP 或 HTTPS 隧道。
  • 支持多个同时隧道。
  • 允许重放 Webhook 请求。
  • 使您能够使用虚拟主机站点。
  • 它可以通过 API 以及付费计划中的许多选项实现自动化。

在使用它之前,您需要安装 Web 服务器或考虑设置功能性 LAMPLEMP 堆栈,否则请按照以下指南进行操作:

在 Linux 上安装 LAMP 堆栈:

  1. 在 RHEL/CentOS 7.0 中安装 LAMP(Linux、Apache、MariaDB、PHP/PhpMyAdmin)
  2. 如何在 Ubuntu 16.10 上使用 PHP 7 和 MariaDB 10 安装 LAMP

在 Linux 上安装 LEMP 堆栈:

  1. 如何在 Debian 9 Stretch 上安装 LEMP(Linux、Nginx、MariaDB、PHP-FPM)
  2. 如何在 16.10/16.04 中安装 Nginx、MariaDB 10、PHP 7 (LEMP Stack)
  3. 在 RHEL/CentOS 7/6 和 Fedora 20-26 上安装最新的 Nginx、MariaDB 和 PHP

如何在 Linux 中安装 Ngrok

Ngrok 非常易于安装,只需运行以下命令即可下载并解压缩包含单个二进制文件的存档文件。

mkdir ngrok
cd ngrok/
wget -c https://bin.equinox.io/c/4VmDzA7iaHb/ngrok-stable-linux-amd64.zip
unzip ngrok-stable-linux-amd64.zip
ls

获得二进制文件后,让我们在 Web 服务器 (Apache) 的默认文档根目录中创建一个基本的 index.html 页面,用于测试对 Web 服务器的请求。

sudo vi /var/www/html/index.html

在文件中添加以下 HTML 内容。

<!DOCTYPE html>
<html>
        <body>
                <h1>This is a TecMint.com Dummy Site</h1>
                <p>We are testing Ngrok reverse proxy server.</p>
        </body>
</html>

保存文件并通过指定 http 端口 80 启动 ngrok(如果您已将 Web 服务器配置为侦听另一个端口,则需要使用该端口):

ngrok http 80

启动后,您应该会在终端中看到类似于以下内容的输出。

如何使用 Ngrok UI 检查 Web 服务器的流量

Ngrok 提供了一个简单的 Web UI,供您实时检查隧道上运行的所有 HTTP 流量。

http://localhost:4040 

从上面的输出来看,尚未向服务器发出任何请求。首先,请使用以下 URL 向您的隧道之一发出请求。其他用户也将使用这些地址来访问您的网站或应用程序。

http://9ea3e0eb.ngrok.io 
OR
https://9ea3e0eb.ngrok.io 

然后从检查 UI 中检查以获取请求和响应的所有详细信息,包括时间、客户端 IP 地址、持续时间、标头、请求 URI、请求负载和原始数据。

有关更多信息,请参阅 Ngrok 主页:https://ngrok.com/

Ngrok 简直是一个了不起的工具,它是迄今为止您能找到的最简单但功能强大的安全本地隧道解决方案。您应该考虑创建一个免费的 ngrok 帐户以获得更多带宽,但如果您想要更高级的功能,请尝试升级到付费帐户。请记住通过下面的评论表与我们分享您对这款软件的想法。