不买服务器也可以将本地服务放到互联网(ngrok内网穿透)

2024-02-20 07:12

本文主要是介绍不买服务器也可以将本地服务放到互联网(ngrok内网穿透),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

欢迎来到我的博客,代码的世界里,每一行都是一个故事


在这里插入图片描述

不买服务器也可以将本地服务放到互联网

    • 前言
    • ngrok基础:穿越网络边界的魔法
    • 使用场景:突破网络限制的利器
    • 实战

前言

在网络的世界里,有时候你的服务像是困在一座数字城堡中,而ngrok就是那位神奇的密道导师,帮你打通城堡的大门。想象一下,你正在开发一款酷炫的应用,但却无法让世界见识它的魅力。这时,ngrok就像是一把数字魔杖,让你的应用穿越网络的迷雾,呈现在全世界的面前。本文将引领你进入ngrok的神奇世界,探索它在网络领域的妙用。

ngrok基础:穿越网络边界的魔法

Ngrok的基本原理:

Ngrok 是一个通过反向代理将本地服务暴露到公网的工具。它的基本原理如下:

  1. 客户端和服务器: Ngrok 包含一个客户端和一个服务器端。客户端运行在本地,用于将本地服务暴露到外部网络。服务器端则托管在云端,充当中间人的角色。

  2. 反向代理: 当客户端启动时,它会建立一个与服务器的安全连接。然后,Ngrok 服务器会为客户端分配一个唯一的子域名或公共域名,这个域名将用于访问本地服务。

  3. 隧道: Ngrok 通过创建一个安全隧道将外部请求转发到本地服务。这意味着外部用户可以通过使用 Ngrok 提供的域名访问本地运行的服务,而不必直接连接到本地计算机。

Ngrok的基本使用步骤:

以下是使用 Ngrok 将本地服务暴露到公网的简单步骤:

  1. 下载并安装 Ngrok:

    • 前往 Ngrok 官方网站,注册一个账号并登录。
    • 下载并解压 Ngrok 客户端工具。
  2. 获取 Authtoken:

    • 登录 Ngrok 账号后,获取 Authtoken。这个 token 是用于认证客户端与服务器之间的通信。
  3. 启动本地服务:

    • 启动你希望暴露到公网的本地服务。确保服务在本地正常运行。
  4. 运行 Ngrok 客户端:

    • 打开终端或命令行窗口,导航到 Ngrok 客户端所在的目录。
    • 运行命令 ngrok authtoken <your-authtoken>,将 <your-authtoken> 替换为你在步骤 2 中获取的 Authtoken。
    • 运行命令 ngrok http <local-port>,将 <local-port> 替换为你本地服务运行的端口号。例如,如果本地服务在端口 3000 上运行,命令可能是 ngrok http 3000
  5. 获取公共域名:

    • Ngrok 将在终端中显示一个公共域名(通常以 httphttps 开头)。这个域名将用于访问本地服务。
  6. 访问本地服务:

    • 使用 Ngrok 提供的公共域名访问你的本地服务。例如,如果 Ngrok 提供的域名是 https://your-subdomain.ngrok.io,则可以通过浏览器访问该地址来访问本地服务。

通过这些步骤,你应该能够使用 Ngrok 将本地服务暴露到公网,并通过 Ngrok 提供的域名访问该服务。请注意,Ngrok 的免费版本有一些限制,例如每个隧道的最大连接时间。在生产环境中,你可能需要考虑使用 Ngrok 的付费计划以获得更多功能和更长的连接时间。

使用场景:突破网络限制的利器

Ngrok在开发、测试、演示和远程调试中的实际应用场景:

  1. 本地开发环境暴露到公网: 在进行本地开发时,有时需要将本地服务分享给远程团队成员或客户,以便他们可以查看、测试或提供反馈。Ngrok可以帮助开发者轻松地将本地开发环境暴露到公网,使团队成员或客户能够通过互联网访问这些服务。

  2. 测试 Webhook 回调: 在开发 Webhook 功能时,通常需要在本地进行测试。使用 Ngrok,可以将本地服务器上的 Webhook 回调地址映射到一个公共域名,使得外部服务可以正确地访问和测试 Webhook 的回调功能。

  3. 演示和展示: 在进行产品演示或展示时,有时需要展示本地运行的应用程序或服务。Ngrok使得演示者能够方便地分享本地服务的链接,而观众只需通过浏览器就能访问这些服务,而不需要在其本地安装或配置任何东西。

  4. 远程调试: 在进行远程调试时,Ngrok可以帮助开发者远程访问本地服务,方便查看日志、调试代码以及实时监控应用程序的运行状况。这对于处理远程问题或与远程团队协作时非常有用。

  5. 跨越网络限制: 在某些网络环境下,例如公司内部网络、学校网络或受限制的公共网络,直接暴露本地服务可能会受到限制。Ngrok通过穿越防火墙和网络限制,为开发者提供了一个便捷的方式,让他们能够轻松地分享和访问本地服务。

Ngrok的使用步骤:

  1. 下载和安装 Ngrok: 从 Ngrok 官方网站下载适合你系统的 Ngrok 客户端,并进行安装。

  2. 注册并获取 Authtoken: 在 Ngrok 官网注册账号,并获取 Authtoken,这是用于认证客户端与 Ngrok 服务器之间通信的令牌。

  3. 运行 Ngrok 客户端: 在终端或命令行中运行 Ngrok 客户端,并使用 Authtoken 进行身份验证。

  4. 选择本地服务端口: 指定要映射的本地服务的端口号。例如,运行 ngrok http 3000 表示将本地服务运行在端口 3000 上。

  5. 获取 Ngrok 提供的公共域名: Ngrok 将显示一个公共域名,通过这个域名可以访问本地服务。例如,https://your-subdomain.ngrok.io

  6. 分享链接: 将 Ngrok 提供的公共域名分享给需要访问本地服务的人员。

通过这些简单的步骤,开发者可以在开发、测试、演示和远程调试中灵活地使用 Ngrok,轻松跨越网络限制,提供和访问本地服务。

实战

将本机的服务暴露到互联网区域进行访问

  1. 启动本机服务

  2. 执行ngrok命令

    ngrok http 8081
    

在这里插入图片描述

  1. 复制上面的Forwarding右侧网址进行访问

    image-20240127144721673

这篇关于不买服务器也可以将本地服务放到互联网(ngrok内网穿透)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/727412

相关文章

使用Python实现快速搭建本地HTTP服务器

《使用Python实现快速搭建本地HTTP服务器》:本文主要介绍如何使用Python快速搭建本地HTTP服务器,轻松实现一键HTTP文件共享,同时结合二维码技术,让访问更简单,感兴趣的小伙伴可以了... 目录1. 概述2. 快速搭建 HTTP 文件共享服务2.1 核心思路2.2 代码实现2.3 代码解读3.

在java中如何将inputStream对象转换为File对象(不生成本地文件)

《在java中如何将inputStream对象转换为File对象(不生成本地文件)》:本文主要介绍在java中如何将inputStream对象转换为File对象(不生成本地文件),具有很好的参考价... 目录需求说明问题解决总结需求说明在后端中通过POI生成Excel文件流,将输出流(outputStre

SpringBoot配置Ollama实现本地部署DeepSeek

《SpringBoot配置Ollama实现本地部署DeepSeek》本文主要介绍了在本地环境中使用Ollama配置DeepSeek模型,并在IntelliJIDEA中创建一个Sprin... 目录前言详细步骤一、本地配置DeepSeek二、SpringBoot项目调用本地DeepSeek前言随着人工智能技

CentOS 7部署主域名服务器 DNS的方法

《CentOS7部署主域名服务器DNS的方法》文章详细介绍了在CentOS7上部署主域名服务器DNS的步骤,包括安装BIND服务、配置DNS服务、添加域名区域、创建区域文件、配置反向解析、检查配置... 目录1. 安装 BIND 服务和工具2.  配置 BIND 服务3 . 添加你的域名区域配置4.创建区域

Linux上设置Ollama服务配置(常用环境变量)

《Linux上设置Ollama服务配置(常用环境变量)》本文主要介绍了Linux上设置Ollama服务配置(常用环境变量),Ollama提供了多种环境变量供配置,如调试模式、模型目录等,下面就来介绍一... 目录在 linux 上设置环境变量配置 OllamPOgxSRJfa手动安装安装特定版本查看日志在

SpringCloud之LoadBalancer负载均衡服务调用过程

《SpringCloud之LoadBalancer负载均衡服务调用过程》:本文主要介绍SpringCloud之LoadBalancer负载均衡服务调用过程,具有很好的参考价值,希望对大家有所帮助,... 目录前言一、LoadBalancer是什么?二、使用步骤1、启动consul2、客户端加入依赖3、以服务

Windows Server服务器上配置FileZilla后,FTP连接不上?

《WindowsServer服务器上配置FileZilla后,FTP连接不上?》WindowsServer服务器上配置FileZilla后,FTP连接错误和操作超时的问题,应该如何解决?首先,通过... 目录在Windohttp://www.chinasem.cnws防火墙开启的情况下,遇到的错误如下:无法与

OpenManus本地部署实战亲测有效完全免费(最新推荐)

《OpenManus本地部署实战亲测有效完全免费(最新推荐)》文章介绍了如何在本地部署OpenManus大语言模型,包括环境搭建、LLM编程接口配置和测试步骤,本文给大家讲解的非常详细,感兴趣的朋友一... 目录1.概况2.环境搭建2.1安装miniconda或者anaconda2.2 LLM编程接口配置2

在VSCode中本地运行DeepSeek的流程步骤

《在VSCode中本地运行DeepSeek的流程步骤》本文详细介绍了如何在本地VSCode中安装和配置Ollama和CodeGPT,以使用DeepSeek进行AI编码辅助,无需依赖云服务,需要的朋友可... 目录步骤 1:在 VSCode 中安装 Ollama 和 CodeGPT安装Ollama下载Olla

Windows server服务器使用blat命令行发送邮件

《Windowsserver服务器使用blat命令行发送邮件》在linux平台的命令行下可以使用mail命令来发送邮件,windows平台没有内置的命令,但可以使用开源的blat,其官方主页为ht... 目录下载blatBAT命令行示例备注总结在linux平台的命令行下可以使用mail命令来发送邮件,Win