内网穿透内容讲解

article/2025/11/11 1:06:05

内网穿透又叫端口映射,用一句最简单的话来讲就是:将你的计算机所连接的私有网络映射到公网上,别人通过你给的域名或ip即可访问你本地的服务。具体的原理可参照百度百科
这么做可以实现各大厂商的云服务器(阿里云,腾讯云,百度云,华为云等)的效果,通过公网地址访问服务器

这里分享一些提供内网穿透的网站,前四种是我用过的,感觉都还不错(仅供参考):

  1. Sunny-Ngrok:免费版,带宽:10 Mbps,限速:128 Kbps,限流:无限,隧道数量:每种协议1条
  2. Starryah(星空云):免费版(需要实名认证),带宽:5 Mbps,限流:初始20G,每日通过签到可以随机获得 1 ~ 10 GB 流量,隧道数量:5条(强烈推荐)
  3. SAKURA FRP:免费版(需要支付一元实名认证),带宽:10 Mbps,限速:4 Mbps,限流:5 GiB+限速流量(进入该状态24小时后会进行流量重置并恢复限速至正常限速),隧道数量:2条(隧道数量2022年初更新,速度还行,推荐)
  4. SuiDao免费版,基于FastTunnel开源,带宽:未测试,限流:未测试,隧道数量:4条(还行)
  5. NATTUNNEL:免费版(隧道每天停止),带宽:1 Mbps,限速:不限,限流:无限,隧道数量:1条
  6. 浮居内网穿透:免费版,带宽:5 Mbps,限速:5 Mbps,限流:5GiB,隧道数量:2条
  7. NATAPP:免费版,带宽:1 Mbps,限速:1 Mbps,限流:不限,隧道数量:0条
  8. 花生壳:免费版,带宽:1 Mbps,限速:1 Mbps,限流:1GiB,隧道数量:2条
  9. 网穿云:免费版,带宽:3 Mbps,限速:3 Mbps,限流:7天不限流量,激活后流量限制每月/1G,隧道数量:1条
  10. cpolar:免费版,带宽:不清楚,限速:不清楚,限流:不清楚,隧道数量:1条
  11. 路由侠:免费版,带宽:1 Mbps,限速:1 Mbps,限流:1GiB,隧道数量:2条
  12. 魔法隧道:积分兑换版,带宽:官网说100M,限速:不清楚,限流:不清楚,隧道数量:不清楚

下面,我就Sunny-Ngrok来分享一下服务器搭建,其实都大同小异,照着官方文档来,慢慢的就会了

这里我简单描述一下内网穿透的两个应用,一是服务器搭建,二是远程桌面的搭建

首先是服务器搭建,在此之前,我们得先开启本地服务器,这里以node为例,环境搭建,静态文件服务,本地文件上线,以及用到的懒加载案例在之前文章有说到,这里直接进入正题

开启本地服务运行懒加载案例,通过127.0.0.1访问网页,我这里是运行在VSCode插件(live server)下,当然也可以参照静态文件服务把项目运行在node服务下,首先保证网页和接口可以在本地运行访问
我的前端部分端口号是5500,后端接口端口号是1024

但是Sunny-Ngrok免费版的对http协议只提供一个端口的隧道,此时我们就要用Nginx进行端口代理了,Nginx配置可以参考Nginx文章,我这里的配置如下

 
  1. server {

  2. listen 10240;#监听端口

  3. server_name localhost;

  4. location / {

  5. proxy_pass http://127.0.0.1:1024/;#反向代理后端接口

  6. }

  7. location /client {

  8. proxy_pass http://127.0.0.1:5500/;#反向代理前端页面

  9. }

  10. error_page 500 502 503 504 /50x.html;

  11. location = /50x.html {

  12. root html;

  13. }

  14. }

此时通过输入http://127.0.0.1:10240/client/就会代理到http://127.0.0.1:5500/下,输入http://127.0.0.1:10240/会被代理到http://127.0.0.1:1024/下

下一步,注册Sunny-Ngrok账号,登录并购买免费服务器,配置服务器设置,最后下载穿透软件

下载完成后点击启动工具,在隧道管理中复制刚才新建的隧道id,粘贴到隧道软件中,并回车,进入到连接界面

此时刷新隧道管理界面,点击查看状态,可以看到,当前连接的ip,说明内网穿透成功


下一步,我们在新页面中打开赠送域名加路径,如:http://example.com/client/lazyLoad.html(example.com是赠送域名),打开后会提示输入账号密码。
输入http验证用户名和密码即可

但是此时懒加载请求的接口是本地的127.0.0.1,我们要修改为http://example.com/getList?len=1000,最后打开http://example.com/client/lazyLoad.html,显示以下效果

做到这里,服务器内网穿透的服务器搭建就完成了。

接下来,我们来尝试搭建一下远程桌面

和之前一样,购买新的免费服务器,并且配置tcp协议,这里有两点需要注意:

  1. 本地映射的ip不能使用127.0.0.1,而是使用局域网内的ip,通过ipconfig查看本机在局域网的ip并复制
  2. 远程桌面默认端口是3389

下面是我远程桌面的配置

隧道管理

最后和上面一样,运行内网穿透软件即可(可能会一直出现reconnecting提示,原因在官网文档中,我这的解决方法是在隧道管理中踢下线,然后多连几次)

我们可以使用另一台电脑或者手机版的远程桌面连接当前电脑(手机版可以去酷安),下面是用手机连接的效果

总结:内网穿透虽然比服务器要便宜,但是还要考虑自己电脑的电费和损耗,而且做服务器需要一直开着,所以,还是要对比,比较一下,选择适合自己的方案

希望这篇文章能帮助你

业务搭载离不了云服务器,选择合适的平台最重要!

从目前国内云计算市场的格局来看,国内云计算前三强分别是阿里云、腾讯云和华为云,阿里云、腾讯云作为背靠互联网平台的企业,更偏向于B端用户;华为与作为传统的通信巨头,更偏向于G端。

本人从事云计算相关工作至今已有多年,国内主流的云平台都接触过,包括他们的销售及技术团队,对各家的产品也小有了解,并且指导过数百家企业迁移上云,对云平台选择也有一定的发言权!

网上有很多评测,评测数据也五花八门,说谁好的都有,这个两篇博文分析汇总的非常详细,分享给大家,文档地址:

博文1:云服务器哪家好!阿里云、腾讯云、华为云的服务器配置及价格对比?​

博文2:阿里云服务器突发型t6、n4、s6、c5、c6怎么选?和腾讯云服务器标准型s3、sn3ne、s4、s5、sa2相比哪家好?全面解析

如果是高并发,高IO业务场景,需要确定服务器规格,可让业务应用性能发挥到最佳,参考官方文档:

阿里云服务器规格:规格实例族 - 云服务器 ECS

腾讯云服务器规格:规格实例族 - 云服务器CVM


http://chatgpt.dhexx.cn/article/9fF6lj97.shtml

相关文章

内网穿透你真的了解吗?

前言 内网穿透作为程序员常用的调试手段之一,我们可以通过在个人电脑上运行花生壳或者 frp 等方式,让他人访问我们本地启动的服务,而且这种访问可以不受局域网的限制,当我们使用ngrok,frp等开源框架时,你是否有好奇过…

Ngrok内网穿透

Ngrok一款内网穿透工具,它可以将本地部署的Web应用能够让公网环境直接访问到。ngrok是一个反向代理,通过在公共端点和本地运行的Web服务器之间建立一个安全的通道,实现内网主机的服务可以暴露给外网。所以它提供了一个能够在公网安全访问内网…

大白话告诉你内网穿透原理和验证

内网穿透到底干啥的这里不做详述,这篇文章主要是讲这玩意怎么做的 分析 网上有很多原理图,但是说实话鄙人天资愚钝没咋看懂,在网上疯狂百度和个人的验证之后,得出如下简图 其实很简单 想让我们内网的服务能被外网访问到&#x…

frp内网穿透原理及配置应用

1 Frp介绍 frp 是一个专注于内网穿透的高性能的反向代理应用,支持 TCP、UDP、HTTP、HTTPS 等多种协议。可以将内网服务以安全、便捷的方式通过具有公网 IP 节点的中转暴露到公网。 frp 项目官网 https://github.com/fatedier/frp 中文文档 https://github.com/fat…

内网穿透原理,以及用花生壳实现内网穿透

在做自学项目部署nginx的时候,nginx部署在阿里云服务器上,项目在本地,阿里云的nginx无法访问到本地的ip,所以需要做一下内网穿透。记录一下 什么是内网穿透? 内网和外网的概念: 内网:即所说的局…

内网穿透原理和实现

什么是内网穿透 作者:匿名用户 链接:https://www.zhihu.com/question/63098230/answer/1929852198 希望对你们更易懂要知道这个的意思,需要先来点前菜 1、地球上的电脑设备等要实现通信,都需要有个IP地址才可以实现。 2、IP地址…

内网穿透原理和实现思路介绍

内网穿透技术,简单理解就是将内网的服务映射到公网中,这样可以随时随地访问。 那什么是内网?什么是公网?先从这个基本概念来简单介绍吧 1. 公网、内网和外网 首先声明,公网、内网和外网这几个概念,不是专…

内网穿透工具frp原理和使用教程

内网穿透(Port Forwarding)是将公网上的IP地址映射到内部网络中的一台计算机的某个端口上,以便外部网络可以访问该计算机中运行的应用程序。内网穿透技术可以通过一些开源工具来实现,其中比较常用的是frp。在本文中,我…

内网穿透原理

前言 内网穿透一般在家庭用户下NAS设备在经常折腾,实际上企业云服务就是典型的内网穿透,只不过方式原理有点不同,家庭网络因为宽带的上传限制和没有公网IP,难度大于企业宽带。实际上内网穿透就是反向代理,域名解析&am…

内网穿透的实现和原理解析

需求场景: 基于微信平台开发服务号,本地移动端测试时,需要在微信平台注册测试号,然后填写接口配置信息,此信息需要你有自己的服务器资源,填写的URL需要正确响应微信发送的Token验证。如何能让外网访问到本地服务器呢&…

MacBook M1 Idea集成SVN

1.检查是否安装SVN svn —version2.检查是否安装了brew brew -v3.安装 brew /bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)” speed4.记住安装路径 5.配置国内镜像源HOMEBREW BOTTLE 6.svn安装前需要执行 按照/usr/local路径…

IntelliJ IDEA上svn分支管理和使用

IntelliJ IDEA上svn分支管理和使用 从Subversion下载trunk下的代码 选择项目创建分支 右键 Subversion --> branch or Tag … 选择Repository Location:需要创建的项目 选择Any Location 分支的位置和名字 详细查看截图 切换到分支 选择项目右键Subversion --> Update …

vscode / idea 使用SVN及查看历史记录

一、vscode使用 SVN 1、在vscode插件中心搜索svn 进行安装(我这里已经安装完毕了) 注意:插件安装成功,需要重新启动软件。 安装成功后会出现如下的图标: 2、桌面右键使用SVN Checkout… 来检出远程库的代码&#xf…

IDEA之配置SVN

最近在公司的开发项目过程中,发现有关idea2020的svn配置方法都参差不齐,所以整理了有关idea2020整合svn的步骤; 目录 一、SVN配置1.1 下载SVN1.2 安装SVN1.3 配置SVN 二、常见问题2.1 Warning:java: 源值1.5已过时 一、SVN配置 1.1 下载SVN…

IDEA使用svn拉取多模块项目

如果没有安装过svn客户端,安装的时候需要选择安装第二个工具,如下图所示 安装小乌龟, 自行搜索, 注意点是需要选择安装第二个工具 因为默认是不安装的, 而这个组件是集成到IDEA ”必须的” . 如果是已经安装好的, 但是没有选这个的也是有办法的 办法一: 更改小乌龟 在卸载小乌龟…

idea 使用svn出现path to certificate

百度了一会,有说清缓存的,不能使用。 还有配置这个的,也不行。 我记得以前可以,后来发现你拉去代码不用在idea拉,能提交。只要你不选最外层项目。可能是我打开了两个idea,都用的这个链接,只是文…

IDEA SVN 代码合并

IDEA SVN 代码合并 一:安装Subversion 插件 打开settings 设置,搜索svn,点击install,安装成功后重启 二:导入svn项目 打开idea,左下角点击 Subversion, 选择第四个选项卡或者从 View -> Tool Windows -> Sub…

IDEA上使用svn插件

安装后会在安装目录下出现svn.exe字样有用!!! 如果没有svn.exe 原因: 产生这个问题的原因是由于我们在安装svn时,默认缺少一项导致的,我们只需要再重新安装一下即可(不需要卸载) 双击安装文件后,选择Modify 2.勾选command line client tool…

Idea使用SVN常用操作

贴一个有弧度的代码 目录 Idea中配置 检出代码 subversion有许多选项 拉取(更新)/提交代码 ​ Show Diff对比代码, 提交代码注释项必填 查看历史提交 设置文件忽略 拉出新分支 将分支合并到主干 删除分支 更换SVN账号信息 svn结构: 一般习惯性在创建repository仓…

macOS系统升级后idea使用svn报错

昨天升级了 macOS Monterey 更新完后IntelliJ IDEA无法正常使用SVN 报Cannot run program “svn” (in directory “/XXXX/XXXX/XXXX/XXX”): error2!,NO such file or directory 看了一下网上的解决方案 1.command line client中的参数,在代码的svn…