快速上手 ngrok:将你的本地服务一键暴露到互联网,开发者必备技能!

news2024/12/25 15:02:18

想让外界轻松访问你本地电脑上的项目?试试 ngrok 吧!无论是调试 Web 应用,还是进行跨网络测试,ngrok 都能帮你一键创建安全隧道,将本地服务映射到公共 URL,让全球任何地方都能访问。本文详细介绍 ngrok 的安装步骤和使用方法,助你快速上手这款开发者必备工具!快来看看吧~
在这里插入图片描述

ngrok

ngrok 是一个反向代理工具,可以将本地服务器暴露到互联网。它能够创建一个安全的隧道,将你本地计算机上的服务映射到一个公共 URL。这在开发和测试时特别有用,因为它可以让外部用户或系统直接访问你本地机器上的应用程序,而无需配置防火墙或路由器。

ngrok 的主要功能

  1. 暴露本地服务
    • 通过 ngrok,你可以将本地运行的 Web 服务(例如 localhost:8080)映射到一个 ngrok 提供的公共 URL(例如 http://your-app.ngrok.io),从而让互联网用户能够访问你的本地服务。
  2. 跨网络测试
    • 你可以通过互联网测试你的应用程序,而不需要将其部署到公共服务器。这对移动应用开发特别有用,因为你可以轻松地将你的本地 API 暴露给正在开发的移动应用进行测试。
  3. 安全隧道
    • ngrok 提供 HTTPS 隧道,确保你的数据在传输过程中是加密的。
  4. 调试和日志记录
    • ngrok 提供 Web 界面,允许你查看所有通过隧道传输的 HTTP 请求和响应。这对于调试和分析请求非常有用。

如何使用 ngrok

  1. 安装 ngrok

    • 可以通过官方提供的下载链接或使用 Homebrew 安装 ngrok。

    使用 Homebrew 安装:

    brew install ngrok
    
  2. 启动 ngrok 隧道

    • 在终端中运行 ngrok 命令来启动隧道。例如,将本地运行在 8080 端口的服务映射到互联网:
    ngrok http 8080
    
  3. 访问公共 URL

    • 运行命令后,ngrok 会生成一个公共 URL(如 http://your-app.ngrok.io),你可以将这个 URL 发送给需要访问你本地服务的人。

示例

假设你在本地运行了一个 Web 服务器,端口是 8080。你可以这样启动 ngrok 隧道:

ngrok http 8080

ngrok 会输出类似如下的信息:

ngrok by @inconshreveable                                                                                               (Ctrl+C to quit)

Session Status                online
Account                       Your Account (Plan: Free)
Version                       2.3.35
Region                        United States (us)
Web Interface                 http://127.0.0.1:4040
Forwarding                    http://your-app.ngrok.io -> http://localhost:8080
Forwarding                    https://your-app.ngrok.io -> http://localhost:8080

Connections                   ttl     opn     rt1     rt5     p50     p90
                              0       0       0.00    0.00    0.00    0.00

你现在可以通过 http://your-app.ngrok.io 访问本地的 http://localhost:8080 服务了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1794298.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

2.1.3 采用接口方式使用MyBatis

实战概述:使用MyBatis的接口方式进行数据库操作 环境准备 确保项目中已经集成了MyBatis框架。 创建用户映射器接口 在net.huawei.mybatis.mapper包中创建UserMapper接口。定义方法findById(int id)用于按编号查询用户。定义方法findAll()用于查询全部用户。定义方法…

Python 识别图片形式pdf的尝试(未解决)

想识别出pdf页面右下角某处的编号。pdf是图片形式页面。查了下方法,有源码是先将页面提取成jpg,再用pytesseract提取图片文件中的内容。 直接用图片来识别。纯数字的图片,如条形码,可识别。带中文的不可以,很乱。 识别…

jupyter之plt 画图弹出窗口展示图片以及静态图片切换方法

1. jupyter出图的三种方式 在python的Jupyter Notebook中,使用matplotlib绘制动态图形时,可能出现只显示一张静态图像。 这是因为在notebook中使用plt绘图共有三种模式: %matplotlib inline:这是默认的模式,输出的图片…

vscode ctrl+鼠标左键无法跳转

打开设置,搜索intel…… 将这个智能感知改成default就可以了,我之前是在disable处。 分析了一下,其实跳转功能主要是根据上下文语法分析来实现的,并不是简单得全文匹配,因此需要相关得语法分析工具。 那么为什么默认式…

异步时序逻辑电路分析

270页异步时序逻辑电路例题分析 阎石数电-第六章时序逻辑电路-6.2.3异步时序逻辑电路分析方法-例题6.2.4

操作系统入门系列-MIT6.828(操作系统工程)学习笔记(三)---- xv6初探与实验一(Lab: Xv6 and Unix utilities)

系列文章目录 操作系统入门系列-MIT6.S081(操作系统)学习笔记(一)---- 操作系统介绍与接口示例 操作系统入门系列-MIT6.828(操作系统工程)学习笔记(二)----课程实验环境搭建&#x…

【文末附gpt升级秘笈】埃隆·马斯克芯片调配策略对特斯拉股价的影响分析

埃隆马斯克芯片调配策略对特斯拉股价的影响分析 一、引言 在现代商业环境中,企业间的资源调配与策略布局往往对其股价产生深远影响。据外媒CNBC报道,埃隆马斯克在芯片资源分配上的决策引起了业界的广泛关注。他秘密要求英伟达将原本预留给特斯拉的高端…

苹果Vision Pro 界面中英翻译

目录 菜单 🔷General🔄一般 AirDrop 隔空投送 Background App Refresh 后台应用刷新 Keyboards 键盘 VPN & Device Management VPN与设备管理​编辑Legal & Regulatory 法律法规 🔷Apps🔄应用程序 🔷Pe…

飞睿智能工业无线通信模块图传WiFi,地对空图传超5km,4堵实墙穿透稳定传输

在当今高科技飞速发展的时代,远距离无线通信技术的应用越来越广泛,尤其是在地对空通信领域。今天,我们将深入探讨一种远距离无线通信模块WiFi图传,它不仅能实现地对空远距离图传超过5公里,还具备穿透4堵实墙的穿墙效果…

Qt Creator常用的快捷键和常用功能

常用快捷键 新建项目,ctrl n 运行项目,ctrl r 构建项目,ctrl b 改变编辑器界面字体显示比例大小,ctrl 鼠标滚轮 对齐代码,ctrl a; ctrl i 跳转到上一行,ctrl shift enter 跳转到下一行,…

PHP实现一个简单的接口签名方法以及思路分析

文章目录 签名生成说明签名生成示例代码签名校验示例代码 签名生成说明 B项目需要调用A项目的接口,由A项目为B项目分配 AccessKey 和 SecretKey,用于接口加密,确保不易被穷举,生成算法不易被猜测。 最终需要确保包含签名的参数只…

vscode 编程工具配置Java开发环境

vs code 开发环境配置。 环境准备: 1. 安装JDK/安装maven/安装vs code 首先安装好vs code 之后,需要安装 Extension Pack for Java 这么个插件 配置maven,进入setting, 3:配置 maven安装目录,4&#xff1a…

超详细!新手入门PMP®考试指南,收藏起来备考更高效​!

回复数字“6”,查看PMP考试过关口诀 无论你是刚刚踏入项目管理领域的新手,对于PMP考试充满好奇与期待; 还是已经在职场中摸爬滚打多年,希望通过PMP认证来进一步提升自己的项目管理能力和职业竞争力。 相信这份指南都会为你提供…

react 中使用 swiper

最近项目中需要用到轮播图,我立马想起了 swiper ,那么本文就来带大家体验一下如何在 React 中使用这个插件,使用的是 函数组 hooks 的形式。 需求非常简单,就是一个可以自动播放、点击切换的轮播图(跑马灯&#xff0…

UDSonCAN刷写之StayInBOOT和FlashDiver

目录 0 前言 1 StayInBOOT 2 Flash Driver 0 前言 最近在做刷写相关的工作,顺便搞懂了StayInBOOT和FlashDiver,写出来作为分享,如果有哪里不对也请多多指正。 1 StayInBOOT StayInBOOT在整个流程中的位置如下图所示,从图中可…

青否数字人直播源码超级管理后台操作步骤!

青否数字人直播源码超级管理后台,我们将详细介绍一下数字人的管理后台的详细操作步骤! 1.管理端入口 2.管理后台预览 账号管理,模特管理,声音管理,任务管理,卡类管理,代理商,克隆端 …

python绘制热力图

python绘制热力图 热力图效果代码 热力图 热力图(Heatmap)是一种数据可视化技术,用于显示数据的密度或强度。通过颜色的变化来反映数值的大小或分布情况,热力图能够直观地展示数据的聚集区域、模式和趋势。它广泛应用于各个领域&…

基于51单片机的简易温控水杯恒温杯仿真设计( proteus仿真+程序+设计报告+讲解视频)

基于51单片机的简易温控水杯恒温杯仿真设计( proteus仿真程序设计报告讲解视频) 仿真图proteus7.8及以上 程序编译器:keil 4/keil 5 编程语言:C语言 设计编号:S0099 1. 主要功能: 基于51单片机的简易温控水杯恒温…

百元级蓝牙耳机推荐,五大最新真香品牌机型盘点!

蓝牙耳机已成为我们不可或缺的伴侣无论是通勤路上的音乐陪伴,还是健身房里的动感节奏,一副高品质的蓝牙耳机都能为我们带来无与伦比的听觉享受,今天我将为大家盘点五大最新真香品牌机型,这些百元级的蓝牙耳机不仅价格亲民&#xf…

Qt如何让按钮的菜单出现在按钮的右侧

直接上代码,我们用到了一个eventfilter的函数功能。这个函数比较厉害和重要,大家务必经常拿出来看看。 void MainWindow::initMenu() { QMenu* menuLiXiang new QMenu; QAction* actXiangMuZhangCheng new QAction("项目章程"); …