Ngrok 使用教程

Ngrok 是一款可以将本地服务映射到公网的工具,它可以帮助开发者在本地开发的同时,提供一个可以让外网访问的地址。本文将详细介绍 ngrok 的安装、使用以及相关注意事项。

一、安装 ngrok

Ngrok 下载地址:https://ngrok.com/download

安装 ngrok 非常简单,只需要到官网下载对应系统版本的文件即可。

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

解压完成后,可以使用以下命令进行验证:

  
    ./ngrok -v
  

如果输出类似 ngrok version 3.3.0 的内容,则说明安装成功。

二、使用 ngrok

1. 注册账号并获取 Auth Token

在使用 ngrok 之前,需要先注册一个账号,获取 Auth Token。可以到 ngrok 的官网进行注册,注册完成后,即可获取 Auth Token。

我们可以使用以下命令,将 Auth Token 保存到 ngrok 的配置中:

  
    ./ngrok authtoken <your-auth-token>
  

其中,<your-auth-token> 替换为你自己的 Auth Token。

2. 映射本地服务

使用 ngrok 进行映射只需要一行命令:

  
    ./ngrok http <port>
  

其中,<port> 替换为你要映射的本地服务端口号。

运行完命令后,可以看到类似以下的输出:

  
    ngrok by @inconshreveable                                                                                                                                                                                                                                                                                                                                                                                                (Ctrl+C to quit)
    Session Status                online
    Account                       John Doe (Plan: Free)
    Version                       2.3.35
    Region                        United States (us)
    Web Interface                 http://127.0.0.1:4040
    Forwarding                    http://<generated-subdomain>.ngrok.io -> http://localhost:<port>
    Forwarding                    https://<generated-subdomain>.ngrok.io -> http://localhost:<port>
  

其中,<generated-subdomain> 是 ngrok 自动生成的域名前缀,可以通过该域名前缀,访问到本地服务。

注意,运行该命令时,本地端口必须是可用状态,否则 ngrok 映射会失败。

如果需要开启 https 支持,可以使用以下命令:

  
    ./ngrok http <port> --hostname=<your-domain>
  

其中,<your-domain> 替换为你自己的域名,需要在配置 SSL 证书时用到。

3. 配置 SSL 证书

ngrok 会自动为你创建一个子域名并完成映射,但这个子域名在浏览器中是不受信任的,需要配置 SSL 证书。

SSL 证书的配置很简单,只需要将证书文件放到 ngrok 的配置目录中即可。

SSL 证书通常有两个文件,分别是证书文件和私钥文件,可以使用如下命令生成证书文件和私钥文件:

  
    openssl genrsa -out <your-domain>.key 2048
    openssl req -new -key <your-domain>.key -out <your-domain>.csr
    openssl x509 -req -days 365 -in <your-domain>.csr -signkey <your-domain>.key -out <your-domain>.crt
  

其中,<your-domain> 替换为你自己的域名。

生成证书后,可以使用以下命令将证书文件拷贝到 ngrok 的配置目录中:

  
    sudo cp <your-domain>.crt /usr/local/ngrok/cert/
  

然后,可以使用以下命令来启动 ngrok,启动时需要指定证书文件名:

  
    ./ngrok http <port> --hostname=<your-domain> --tls-cert=<your-domain>.crt --tls-key=<your-domain>.key
  

三、注意事项

1. ngrok 流量监控

ngrok 内置了一个 web 界面,可以用来监控流量。可以通过在浏览器中访问 http://127.0.0.1:4040 进行查看:

  
    Session Status                online                                                             
    Account                       John Doe (Plan: Free)                                             
    Version                       2.3.35                                                             
    Region                        United States (us)                                                 
    Web Interface                 http://127.0.0.1:4040                                              
    Forwarding                    http://<generated-subdomain>.ngrok.io -> http://localhost:<port>   
    Forwarding                    https://<generated-subdomain>.ngrok.io -> http://localhost:<port>  
                                                                                                     
    Connections                   ttl     opn     rt1     rt5     p50     p90                  
                                  0       0       0.00    0.00    0.00    0.00                 
    HTTP Requests                                                                                
    -------------                                                                               
                                                                                                     
  

2. 连接数量限制

ngrok 免费版本有连接数量限制,每个连接只能维持 8 小时,且每分钟限制 40 次请求。如果需要更多的连接数和更长时间的连接,则需要购买 ngrok 的付费版。

3. 防火墙设置

为了确保 ngrok 映射成功,你需要打开本地服务所在机器的防火墙端口,以确保 ngrok 可以访问到本地服务。

如果在使用过程中遇到了连接失败,可以检查是否有防火墙或代理的限制。

4. 本地域名映射

在本地测试时,可以使用 host 文件中的域名映射功能,来模拟 ngrok 动态生成的子域名。例如,在 host 文件中添加以下配置:

  
    127.0.0.1   <your-domain>
  

这样,可以在本地通过 <your-domain> 访问到你需要映射的服务。

结语

本文对 Ngrok 的安装、使用和注意事项进行了详细介绍,以帮助开发者更好地使用这一工具。在使用过程中,需要注意连接数量限制、防火墙设置和本地域名映射等问题,并且注意谨慎使用 ngrok 映射的服务,以免造成安全隐患。

原创文章,作者:FRKM,如若转载,请注明出处:https://www.506064.com/n/132825.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
FRKMFRKM
上一篇 2024-10-03 23:54
下一篇 2024-10-03 23:54

相关推荐

  • MQTT使用教程

    MQTT是一种轻量级的消息传输协议,适用于物联网领域中的设备与云端、设备与设备之间的数据传输。本文将介绍使用MQTT实现设备与云端数据传输的方法和注意事项。 一、准备工作 在使用M…

    编程 2025-04-29
  • Python3.6.5下载安装教程

    Python是一种面向对象、解释型计算机程序语言。它是一门动态语言,因为它不会对程序员提前声明变量类型,而是在变量第一次赋值时自动识别该变量的类型。 Python3.6.5是Pyt…

    编程 2025-04-29
  • Deepin系统分区设置教程

    本教程将会详细介绍Deepin系统如何进行分区设置,分享多种方式让您了解如何规划您的硬盘。 一、分区的基本知识 在进行Deepin系统分区设置之前,我们需要了解一些基本分区概念。 …

    编程 2025-04-29
  • 写代码新手教程

    本文将从语言选择、学习方法、编码规范以及常见问题解答等多个方面,为编程新手提供实用、简明的教程。 一、语言选择 作为编程新手,选择一门编程语言是很关键的一步。以下是几个有代表性的编…

    编程 2025-04-29
  • Qt雷达探测教程

    本文主要介绍如何使用Qt开发雷达探测程序,并展示一个简单的雷达探测示例。 一、环境准备 在开始本教程之前,需要确保你的开发环境已经安装Qt和Qt Creator。如果没有安装,可以…

    编程 2025-04-29
  • 猿编程python免费全套教程400集

    想要学习Python编程吗?猿编程python免费全套教程400集是一个不错的选择!下面我们来详细了解一下这个教程。 一、课程内容 猿编程python免费全套教程400集包含了从P…

    编程 2025-04-29
  • Python烟花教程

    Python烟花代码在近年来越来越受到人们的欢迎,因为它可以让我们在终端里玩烟花,不仅具有视觉美感,还可以通过代码实现动画和音效。本教程将详细介绍Python烟花代码的实现原理和模…

    编程 2025-04-29
  • 使用Snare服务收集日志:完整教程

    本教程将介绍如何使用Snare服务收集Windows服务器上的日志,并将其发送到远程服务器进行集中管理。 一、安装和配置Snare 1、下载Snare安装程序并安装。 https:…

    编程 2025-04-29
  • Python画K线教程

    本教程将从以下几个方面详细介绍Python画K线的方法及技巧,包括数据处理、图表绘制、基本设置等等。 一、数据处理 1、获取数据 在Python中可以使用Pandas库获取K线数据…

    编程 2025-04-28
  • Python语言程序设计教程PDF赵璐百度网盘介绍

    Python语言程序设计教程PDF赵璐百度网盘是一本介绍Python语言编程的入门教材,本文将从以下几个方面对其进行详细阐述。 一、Python语言的特点 Python语言属于解释…

    编程 2025-04-28

发表回复

登录后才能评论