内网穿透 | 推荐两个免费的内网穿透工具
目录
1、简介
2、Ngrok
2.1、下载安装
2.2、运行
2.3、固定域名
2.4、配置多服务
3、cpolar
3.1、下载安装
3.2、运行
🍃作者介绍:双非本科大三网络工程专业在读,阿里云专家博主,专注于Java领域学习,擅长web应用开发、数据结构和算法,初步涉猎Python人工智能开发和前端开发。
🦅主页:@逐梦苍穹📕您的一键三连,是我创作的最大动力🌹
如果想要让自己简历上的项目经历显得更真实,最好是把项目上线并且提供地址给招聘方访问。
没有服务器,那玩意儿要钱,咋办?
项目用的服务太多了,数据库 Redis 消息队列 ES 什么的,想上线太麻烦了,咋办?
今天就给大家分享两个免费的神器,不用买服务器、不用自己部署各种服务,直接让别人访问到你电脑上的网站!
1、简介
先思考一个问题:为什么别人无法直接访问你电脑上运行的网站和服务?
答案很简单。大多数情况下,我们的个人电脑都处于内网,即没有可公开访问的独立 IP 地址,因此其他内网用户找不到你,就没办法和你建立网络连接。
为了实现上述需求,我们采取的方法是 内网穿透 。
什么是内网穿透呢?
它的作用是:将内网的电脑 “暴露” 到公共网络。可以简单理解为一个中间人,由于他知道你的电脑地址,所以能建立一条隧道,帮助其他用户访问到你的计算机。

这次要使用的免费内网穿透工具是 Ngrok和cpolar。
2、Ngrok
首先我们访问 Ngrok 官网,使用 GitHub 或者Google邮箱进行注册登录。
指路:https://ngrok.com/download
2.1、下载安装


用谷歌登录,现在会出现一个需要验证的页面:

去手机的Google Play商店搜索谷歌验证器,获取一个验证码输入即可:

注册登录成功后,根据自己的操作系统选择下载 Ngrok 的安装压缩包:

2.2、运行
接下来我们参照官方文档,在本地执行 ngrok 命令添加用户的 authtoken:

直接复制上图的命令,进入到 ngrok 文件所在的目录执行,如下图:

现在,你的账号信息已经保存到本地的 ngrok 配置文件中了,接下来只需要执行 ngrok http <端口号> 命令即可启动内网穿透服务。
如下图,注意将端口号改为自己本地项目占用的端口号,比如前端一般是 80、后端一般是 8080。

Ngrok 自动为我们生成了一个域名,指向本机的服务:

在浏览器访问该域名,就能访问到自己电脑上启动的项目了。
2.3、固定域名
通过上述命令直接启动内网穿透,每次得到的访问域名是随机生成的,这不利于我们持续访问。
可以从 ngrok 官网找到静态域名的配置:


第一次进入域名配置页面时,如果没有域名,可以免费创建一个。
创建好域名后,复制下图的 ngrok 启动命令:

然后在终端中执行该命令即可,本质上就是在启动 ngrok 时指定了 domain 参数:

通过这种方式,每次的内网穿透域名就都是固定的。
2.4、配置多服务
以上是单服务的内网穿透,但实际情况下,我们本地可能不仅有前端、还有后端服务,那么如何利用 Ngrok 同时内网穿透多个服务呢?
这就需要我们修改 ngrok 的配置文件,手动配置隧道。
首先根据官方文档的指引,找到自己电脑上的默认 ngrok.yml 配置文件:

然后在编辑器中修改这个文件,比如配置前端(frontend)和后端(backend)两条隧道,对应的本地服务端口分别为 80 和 8080;
通过这种方式,每次启动内网穿透得到的域名依然是随机的。
我们可以通过修改 ngrok.yml 文件的 domain 配置来指定域名。配置文件内容如下:

通过 ngrok start <隧道名称> 配置指定启动哪个隧道:
ngrok start frontendngrok start backend
或者执行 ngrok start --all 命令同时启动所有隧道,运行结果如下,同时在 ngrok-free.app 域名下分配了 2 个子域名,并指向对应服务:

访问不同的域名,就能访问到前端或后端了
3、cpolar
3.1、下载安装
下载地址:https://dashboard.cpolar.com/get-started

安装过程中,一直下一步即可。
3.2、运行
cpolar指定authtoken
复制authtoken:

执行命令:

获取临时域名
执行命令:

获取域名:

相关文章:
内网穿透 | 推荐两个免费的内网穿透工具
目录 1、简介 2、Ngrok 2.1、下载安装 2.2、运行 2.3、固定域名 2.4、配置多服务 3、cpolar 3.1、下载安装 3.2、运行 🍃作者介绍:双非本科大三网络工程专业在读,阿里云专家博主,专注于Java领域学习,擅长web应…...
Android中代码生成图片高级部分
1、引言 上一篇文章已经介绍了使用bitmap对象生成图片,但android中不仅仅可以直接使用bitmap对象生成图片,也能借助bitmap对象将布局文件转化为图片,实际应用时,我们需要将两者结合起来,只有这样才能生成更加绚丽的图片…...
计算机网络——09Web-and-HTTP
Web and HTTP 一些术语 Web页:由一些对象组成对象可以是HTML文件、JPEG图像,JAVA小程序,声音剪辑文件等Web页含有一个基本的HTML文件,该基本HTML文件又包含若干对象的引用(链接)通过URL对每个对象进行引用…...
【教程】MySQL数据库学习笔记(一)——认识与环境搭建(持续更新)
写在前面: 如果文章对你有帮助,记得点赞关注加收藏一波,利于以后需要的时候复习,多谢支持! 【MySQL数据库学习】系列文章 第一章 《认识与环境搭建》 第二章 《数据类型》 文章目录 【MySQL数据库学习】系列文章一、认…...
软件测试-测试用例研究-如何编写一份优秀的测试用例
什么是测试用例 测试用例是一组由测试输入、执行条件、预期结果等要素组成,以完成对某个特定需求或者目标测试的数据,体现测试方案、方法、技术和策略的文档。测试用例是软件测试的核心,它把测试系统的操作步骤用文档的形式描述出来…...
计网day1
RTT:往返传播时延(越大,游戏延迟) 一.算机网络概念 网络:网样的东西,网状系统 计算机网络:是一个将分散得、具有独立功能的计算机系统,通过通信设备与线路连接起来,由功…...
vLLM vs Text Generation Interface:大型语言模型服务框架的比较
在大型语言模型(LLM)的世界中,有两个强大的框架用于部署和服务LLM:vLLM 和 Text Generation Interface (TGI)。这两个框架都有各自的优势,适用于不同的使用场景。在这篇博客中,我们将对这两个框架进行详细的…...
[AIGC] 上传文件:后端处理还是直接阿里云OSS?
在构建Web应用时,我们经常需要处理用户上传的文件。这可能是图片、视频、文档等各种各样的文件。但是,上传文件的方式有很多种,最常见的两种方式是:通过后端处理,或者直接上传至云存储服务,如阿里云OSS。那…...
速盾cdn:香港服务器如何用国内cdn
在国内使用香港服务器的情况下,可以考虑使用速盾CDN来提供加速服务。速盾CDN是一种专业的内容分发网络解决方案,可以通过使用不同节点的服务器来提供高速的内容传输和访问。 首先,使用速盾CDN可以帮助解决香港服务器与国内用户之间的延迟和带…...
深入学习Pandas:数据连接、合并、加入、添加、重构函数的全面指南【第72篇—python:数据连接】
深入学习Pandas:数据连接、合并、加入、添加、重构函数的全面指南 Pandas是Python中最强大且广泛使用的数据处理库之一,提供了丰富的函数和工具,以便更轻松地处理和分析数据。在本文中,我们将深入探讨Pandas中一系列数据连接、合…...
IDEA中mybatis配置文件表名显示红色,提示 Unable to resolve table ‘xxx‘
问题:IDEA中mybatis配置文件表名显示红色,提示 Unable to resolve table ‘xxx’ 解决方法: 使用快捷提示键 Alt Enter,选择 Go to SQL Resolution Scopes(转到SQL的解析范围)...
Python基于大数据的电影预测分析系统
博主介绍:✌程序员徐师兄、7年大厂程序员经历。全网粉丝30W、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专栏推荐订阅👇…...
【MATLAB】小波神经网络回归预测算法
有意向获取代码,请转文末观看代码获取方式~也可转原文链接获取~ 1 基本定义 小波神经网络回归预测算法是一种利用小波变换和人工神经网络相结合的方法,用于解决回归预测问题。下面将详细介绍该算法的原理与方法: 小波变换: 小波变…...
最新Burp Suite入门讲解
Burp Suite的安装 Burp Suite是一款集成化的渗透测试工具,包含了很多功能,可以帮助我们高效地完成对Web应用程序的渗透测试和安全检测。 Burp Suite由Java语言编写,Java自身的跨平台性使我们能更方便地学习和使用这款软件。不像其他自动化测…...
【C++】模版初阶
目录 泛函编程 函数模版 概念 格式 原理 实例化 模版函数的匹配原则 类模板 定义格式 泛函编程 如何实现一个通用的交换函数呢? void Swap(int& left, int& right) {int temp left;left right;right temp; } void Swap(double& left, dou…...
Stable Diffusion 模型下载:DreamShaper(梦想塑造者)
本文收录于《AI绘画从入门到精通》专栏,专栏总目录:点这里。 文章目录 模型介绍生成案例案例一案例二案例三案例四案例五案例六案例七案例八案例九案例十 下载地址 模型介绍 DreamShaper 是一个分格多样的大模型,可以生成写实、原画、2.5D 等…...
GPT-4模型的创造力
超级的创造力是GPT-4等高级语言模型的重要特征之一。它们不仅能够精确地模拟和再现各类文本样式、结构和内容,而且在生成新的文本时,能够通过深度学习算法对海量训练数据中捕捉到的模式进行创新性的重组与拓展: 词汇创新:基于已学…...
没用的计算器
本次的项目仍然属于没用的模块,仅供娱乐,最后附有效果视频,如需要源代码可以私信或评论,本次还是使用vue来实现的,同样也可以修改为JS 一、HTML部分 <div class"con"><div class"calculator&q…...
基于 Python 的大数据的电信反诈骗系统
博主介绍:✌程序员徐师兄、7年大厂程序员经历。全网粉丝12w、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专栏推荐订阅👇…...
二、ClickHouse简介
ClickHouse简介 前言一、行式存储二、DBMS功能三、多样化引擎四、高吞吐写入能力五、数据分区与线程级并行六、场景七、特定版本 前言 ClickHouse 是俄罗斯的 Yandex 于 2016 年开源的列式存储数据库(DBMS),使用 C 语言编写,主要…...
Golang 面试经典题:map 的 key 可以是什么类型?哪些不可以?
Golang 面试经典题:map 的 key 可以是什么类型?哪些不可以? 在 Golang 的面试中,map 类型的使用是一个常见的考点,其中对 key 类型的合法性 是一道常被提及的基础却很容易被忽视的问题。本文将带你深入理解 Golang 中…...
Linux相关概念和易错知识点(42)(TCP的连接管理、可靠性、面临复杂网络的处理)
目录 1.TCP的连接管理机制(1)三次握手①握手过程②对握手过程的理解 (2)四次挥手(3)握手和挥手的触发(4)状态切换①挥手过程中状态的切换②握手过程中状态的切换 2.TCP的可靠性&…...
蓝牙 BLE 扫描面试题大全(2):进阶面试题与实战演练
前文覆盖了 BLE 扫描的基础概念与经典问题蓝牙 BLE 扫描面试题大全(1):从基础到实战的深度解析-CSDN博客,但实际面试中,企业更关注候选人对复杂场景的应对能力(如多设备并发扫描、低功耗与高发现率的平衡)和前沿技术的…...
在四层代理中还原真实客户端ngx_stream_realip_module
一、模块原理与价值 PROXY Protocol 回溯 第三方负载均衡(如 HAProxy、AWS NLB、阿里 SLB)发起上游连接时,将真实客户端 IP/Port 写入 PROXY Protocol v1/v2 头。Stream 层接收到头部后,ngx_stream_realip_module 从中提取原始信息…...
江苏艾立泰跨国资源接力:废料变黄金的绿色供应链革命
在华东塑料包装行业面临限塑令深度调整的背景下,江苏艾立泰以一场跨国资源接力的创新实践,重新定义了绿色供应链的边界。 跨国回收网络:废料变黄金的全球棋局 艾立泰在欧洲、东南亚建立再生塑料回收点,将海外废弃包装箱通过标准…...
基于数字孪生的水厂可视化平台建设:架构与实践
分享大纲: 1、数字孪生水厂可视化平台建设背景 2、数字孪生水厂可视化平台建设架构 3、数字孪生水厂可视化平台建设成效 近几年,数字孪生水厂的建设开展的如火如荼。作为提升水厂管理效率、优化资源的调度手段,基于数字孪生的水厂可视化平台的…...
前端开发面试题总结-JavaScript篇(一)
文章目录 JavaScript高频问答一、作用域与闭包1.什么是闭包(Closure)?闭包有什么应用场景和潜在问题?2.解释 JavaScript 的作用域链(Scope Chain) 二、原型与继承3.原型链是什么?如何实现继承&a…...
CMake 从 GitHub 下载第三方库并使用
有时我们希望直接使用 GitHub 上的开源库,而不想手动下载、编译和安装。 可以利用 CMake 提供的 FetchContent 模块来实现自动下载、构建和链接第三方库。 FetchContent 命令官方文档✅ 示例代码 我们将以 fmt 这个流行的格式化库为例,演示如何: 使用 FetchContent 从 GitH…...
Linux --进程控制
本文从以下五个方面来初步认识进程控制: 目录 进程创建 进程终止 进程等待 进程替换 模拟实现一个微型shell 进程创建 在Linux系统中我们可以在一个进程使用系统调用fork()来创建子进程,创建出来的进程就是子进程,原来的进程为父进程。…...
IP如何挑?2025年海外专线IP如何购买?
你花了时间和预算买了IP,结果IP质量不佳,项目效率低下不说,还可能带来莫名的网络问题,是不是太闹心了?尤其是在面对海外专线IP时,到底怎么才能买到适合自己的呢?所以,挑IP绝对是个技…...
