内网穿透 | 推荐两个免费的内网穿透工具

目录

1、简介

2、Ngrok

2.1、下载安装

2.2、运行

2.3、固定域名

2.4、配置多服务

3、cpolar

3.1、下载安装

3.2、运行


🍃作者介绍:双非本科大三网络工程专业在读,阿里云专家博主,专注于Java领域学习,擅长web应用开发、数据结构和算法,初步涉猎Python人工智能开发和前端开发。
🦅主页:@逐梦苍穹

📕您的一键三连,是我创作的最大动力🌹

如果想要让自己简历上的项目经历显得更真实,最好是把项目上线并且提供地址给招聘方访问。

没有服务器,那玩意儿要钱,咋办?

项目用的服务太多了,数据库 Redis 消息队列 ES 什么的,想上线太麻烦了,咋办?

今天就给大家分享两个免费的神器,不用买服务器、不用自己部署各种服务,直接让别人访问到你电脑上的网站!

1、简介

先思考一个问题:为什么别人无法直接访问你电脑上运行的网站和服务?

答案很简单。大多数情况下,我们的个人电脑都处于内网,即没有可公开访问的独立 IP 地址,因此其他内网用户找不到你,就没办法和你建立网络连接。

为了实现上述需求,我们采取的方法是 内网穿透 。

什么是内网穿透呢?

它的作用是:将内网的电脑 “暴露” 到公共网络。可以简单理解为一个中间人,由于他知道你的电脑地址,所以能建立一条隧道,帮助其他用户访问到你的计算机。

7600dd61e08b4c2bb736a9a6f95a43e8.png

这次要使用的免费内网穿透工具是 Ngrok和cpolar。

2、Ngrok

首先我们访问 Ngrok 官网,使用 GitHub 或者Google邮箱进行注册登录。

指路:https://ngrok.com/download

2.1、下载安装

35aee35611e24032b502c703c63920e4.png

0d492b05a8784293a221cd7753833eb4.png

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

729c401b76814f3787fac7e81d9e743b.png

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

16ad65db38814fdfa21ff1903fe03b82.jpeg

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

e3e93833f77846a883f6d727111c6cb8.png

2.2、运行

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

5c23e5bf76b14e388ef019a2ab7e86ee.png

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

533c884faeb94fae976bf1ba12d5d6e2.png

现在,你的账号信息已经保存到本地的 ngrok 配置文件中了,接下来只需要执行 ngrok http <端口号> 命令即可启动内网穿透服务。

如下图,注意将端口号改为自己本地项目占用的端口号,比如前端一般是 80、后端一般是 8080。

9ab45f57c7374ff19de590232b855c72.png

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

e6382ff0d3b64d13ba12655b82855a8a.png

在浏览器访问该域名,就能访问到自己电脑上启动的项目了。

2.3、固定域名

通过上述命令直接启动内网穿透,每次得到的访问域名是随机生成的,这不利于我们持续访问。

可以从 ngrok 官网找到静态域名的配置:

3759c790d2f74258b23cb4bca22b77a5.png

f2eff9109eb54c62994e6b1a99c15373.png

第一次进入域名配置页面时,如果没有域名,可以免费创建一个。

创建好域名后,复制下图的 ngrok 启动命令:

95632680477546b6abc038b1ff6a292b.png

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

272ecce435d94f8db34beaee7e0a247a.png

通过这种方式,每次的内网穿透域名就都是固定的。

2.4、配置多服务

以上是单服务的内网穿透,但实际情况下,我们本地可能不仅有前端、还有后端服务,那么如何利用 Ngrok 同时内网穿透多个服务呢?

这就需要我们修改 ngrok 的配置文件,手动配置隧道。

首先根据官方文档的指引,找到自己电脑上的默认 ngrok.yml 配置文件:

c4e53e146407427faa5af27088c100ab.png

然后在编辑器中修改这个文件,比如配置前端(frontend)和后端(backend)两条隧道,对应的本地服务端口分别为 80 和 8080;

通过这种方式,每次启动内网穿透得到的域名依然是随机的。

我们可以通过修改 ngrok.yml 文件的 domain 配置来指定域名。配置文件内容如下:

b58e959bc6ba4eb885f311b7635b6061.png

通过 ngrok start <隧道名称> 配置指定启动哪个隧道:

ngrok start frontend

ngrok start backend

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

aa9454bb8fb6402aa9508363b273fa15.png

访问不同的域名,就能访问到前端或后端了

3、cpolar

3.1、下载安装

下载地址:https://dashboard.cpolar.com/get-started

6468d4bba1a8441d9782b8999ff6375e.png

安装过程中,一直下一步即可。

3.2、运行

cpolar指定authtoken

复制authtoken:

6d767ee5d0bb4a79b28f2959791cb944.png

执行命令:

a408a8140142482ab2b8ec1cda4013c3.png

获取临时域名

执行命令:

6f64d976af9e4be4af410efe02a6923d.png

获取域名:

7636053ca7104e36a464a47bd30c1af8.png

### 支持 HTTPS 的内网穿透工具推荐 #### 1. frp 内网穿透工具 frp 是一个高性能的反向代理应用,能够帮助用户轻松实现内网穿透并对外提供服务。该工具不仅支持 TCP、HTTP 和 HTTPS 等多种协议类型,还允许 Web 服务根据域名进行路由转发[^1]。 对于希望利用 HTTPS 来增强安全性的场景来说,frp 可以通过配置文件中的 `tls` 字段来启用 TLS 加密连接,从而确保数据传输的安全性和隐私保护。以下是简单的 frp 配置示例: ```ini # server.ini (Frp Server Configuration) [common] bind_port = 7000 vhost_http_port = 80 vhost_https_port = 443 # client.ini (Frp Client Configuration) [https_service] type = https local_ip = 127.0.0.1 local_port = 8443 custom_domains = yourdomain.com ``` #### 2. Sunny-Ngrok Sunny-Ngrok 是由 ngrok 开源项目二次开发而成的一款功能强大的内网穿透解决方案。除了基本的支持 HTTP/HTTPS 协议之外,它也提供了更加广泛的操作系统兼容性以及编程语言接口选项,如 Linux、Windows、MacOS、OpenWRT 平台下的 Python 或 PHP 应用程序集成[^2]。 特别值得注意的是,Sunny-Ngrok 不仅可以作为独立的服务运行,还可以与 FRP 结合使用,在某些情况下甚至可以直接替代后者完成特定的任务需求。例如,当需要快速搭建临时测试环境时,只需简单设置几项参数就能立即启动带有 SSL/TLS 安全加密特性的外部访问通道。
评论 21
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

逐梦苍穹

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值