利用ngrok实现内网穿透(全网最详细教程)

准备工具:

1、phpstudy

用于在本地搭建网站

2、ngrok

用于将自己的本地端口暴露到公网上,从而实现内网穿透

文章开始前给大家分享一个学习人工智能的网站,通俗易懂,风趣幽默

人工智能icon-default.png?t=N7T8https://www.captainbed.cn/myon/

~~~~~~~~~~~~~~~~~~~~~~~~   正文开始   ~~~~~~~~~~~~~~~~~~~~~~~~~~

目录

Part1、本地网站搭建

Part2、本地端口暴露


Part1、本地网站搭建

首先使用phpstudy在本地部署好一个网站

在首页开启FTP、MySQL数据库、中间件Nginx和Apache二选一开启即可,如下图:

在网站找到管理,打开根目录

每个网站的首页默认应该有一个index.php或者index.html(首页文件)

我这里创建了一个index.php,放在打开根目录跳转到的位置,内容如下:

保存好后我们尝试访问本地的网站,即访问 127.0.0.1(回环地址,即本地)

访问成功,证明我们本地的网站环境已经搭建好

Part2、本地端口暴露

首先我们需要注册ngrok的账号

访问ngrok的官网 : https://ngrok.com/

可以注册也可以登录,这里我先尝试使用github账号进行登录

出现了报错提示,大概意思是不支持qq邮箱(后面试了一下注册也是不支持的)

换用Google邮箱登录

登陆成功后我们先下载ngrok(这里以Windows为例演示)

下载好之后解压,会得到一个exe的程序,双击就可以打开

特别说明一下:我之前装过这个软件,在执行后面步骤时遇到了闪退,于是我重新在官网下了一遍,然后以管理员权限运行,就没有闪退了,如果你们也遇到类似情况,可以尝试该方法。

我们可以在Your Authtoken看到一个类似密钥的东西,将其复制下来

双击打开ngrok,执行如下命令:

ngrok authtoken 2Yh...(Your Authtoken)

回显 Authtoken saved to configuration file... 证明设置成功

接下来执行如下命令:

ngrok http 80

这个命令的作用是将本地的80端口暴露到某个特定域名的公网上 

如果希望暴露其他端口的内容,则对80进行替换即可

注意:我前面提到过的闪退就是在这一步发生的,我的解决方法是重装ngrok并以管理员身份运行

执行成功后如下图:

得到一个公网地址,我们访问它

继续点击visit site,回显内容如下图:

可以看到,这就是我们刚才搭建的网站的首页界面。

至此,我们已经实现了内网穿透,通过将我们的本地端口暴露在特定域名地址的公网上,进而从公网访问到了内网的东西。

使用手机进行尝试,发现也是可以成功访问到本地内网的内容:

并且ngrok还会对网站的访问进行记录,如下图:

使用Ctrl+C即可停止

关闭后则不能从公网进行访问了

关于ngrok的其他详细用法可以使用help进行查看

内网穿透的简单介绍和实例演示至此结束!

创作不易,期待大家的关注与支持~

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

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

相关文章

浅谈Linux bash脚本----获取脚本启动参数

${#} 用于获取传递给脚本的参数数目 params_count${#} echo $params_count > ./PATH/TO/my_script.sh param1p1 param2p2 > 2 ${} 用于获取传递给脚本的参数列表 params_list${} echo $params_list > ./PATH/TO/my_script.sh param1p1 param2p2 > param1p1 …

【教学类-06-12】20231126 (一)二位数 如何让加减乘除题目从小到大排序(以1-20之间加法为例,做正序排列用)

结果展示 优化后 优化前 背景需求: 生成列表 单独抽取显示题目排序方法 存在问题: 我希望 00 01 02……这样排序,但是实际上,除了第一个加数会从小到大排序,第二个被加数的第十位数和个位数都会从小到大排序,也就是…

Centos7离线安装chrome浏览器

很多时候在linux下直接安装chrome浏览器困难,或者速度极慢,这里总结下在离线的情况下,怎么下载安装chrome并且配置对应的driver驱动 1.首先如果有安装历史版本,可以先卸载,卸载命令: yum remove google-chrome-stable.x86_64 -y 2.最好下载历史版本chrome,比较稳定,…

Docker attach 命令

docker attach:连接到正在运行中的容器。 语法 docker attach [OPTIONS] CONTAINER要attach上去的容器必须正在运行,可以同时连接上同一个container来共享屏幕(与screen命令的attach类似)。 官方文档中说attach后可以通过CTRL-…

提示工程-Prompt Engineering

提示工程 提示工程 1、概述 Prompt Engineering: 提示工程 通过自然语言(英语、汉语等)来给AI下达指示,从而让AI完成你指定给他的工作的过程都可以称之为提示工程。(面向自然语言编程) 提示词要素 指令&…

Spring Web MVC

目录 一.简介 二.建立连接(客户端和服务器) 三.请求 1.传递单个参数 2.传递多个参数 3.对象 4.数组/集合 5.JSON 6.URL参数 7.上传文件 8.获取cookie和session (1)获取cookie (2)获取session …

electron 问题记录

23年11月24 electron项目npm install 卡在一个地方不动 原因:主要是 install electron 会卡住 解决方法: # 先解决install electron卡死 npm install -g cnpm --registryhttps://registry.npmmirror.com cnpm install electron# 然后下载其他依赖 np…

4D Gaussian Splatting:用于实时的动态场景渲染

Wu G, Yi T, Fang J, et al. 4d gaussian splatting for real-time dynamic scene rendering[J]. arXiv preprint arXiv:2310.08528, 2023. 更多参考资料如下: 文章总结:4D Gaussian Splatting for Real-Time Dynamic Scene Rendering;疑难问…

C#,《小白学程序》第二十一课:大数的减法(BigInteger Subtract)

1 文本格式 using System; using System.Linq; using System.Text; using System.Collections.Generic; /// <summary> /// 大数的&#xff08;加减乘除&#xff09;四则运算、阶乘运算 /// 乘法计算包括小学生算法、Karatsuba和Toom-Cook3算法 /// </summary> p…

js返回顶部按钮

返回顶部模块 你可以使用 JavaScript 和 CSS 来实现滚动到底部时显示侧边栏&#xff0c;并点击返回顶部按钮返回页面顶部的效果。下面是一个简单的示例代码&#xff1a; HTML&#xff1a; <!DOCTYPE html> <html> <head><style>#sidebar {position:…

[网络] 4. HTTP/1.1 相比 HTTP/1.0 提高了什么性能?

HTTP/1.1 相比 HTTP/1.0 性能上的改进 ● 使用长连接的方式改善了 HTTP/1.0 短连接造成的性能开销。 ● 支持管道&#xff08;pipeline&#xff09;网络传输&#xff0c;只要第一个请求发出去了&#xff0c;不必等其回来&#xff0c;就可以发第二个请求出去&#xff0c;可以减…

python中模块的创建及引用(import as,import,from)

模块&#xff08;module&#xff09;简介&#xff1a; 1.模块化&#xff0c;模块化指将一个完整的程序分解为一个一个的小模块&#xff0c; 通过将模块组合&#xff0c;来搭建出一个完整的程序 2.不采用模块化就是统一将所有的代码编写到一个文件中&#xff0c;采用 模块化就是…

Linux内核--内存管理(十二)内存映射

目录 一、引言 二、用户态内存映射 ------>2.1、小块内存申请 ------>2.2、大内存块申请 三、用户态缺页异常 ------>3.1、匿名页映射 ------>3.2、文件映射 ------>3.3、页交换 四、内核态内存映射及缺页异常 五、总结 一、引言 内存映射不仅是物理…

Redis-Redis 高并发分布式锁

集群分布式场景高并发 1.negix配置代理和路由 高并发场景超卖问题 1.使用原生redis控制超卖时(若是商品&#xff0c;则可以将商品id作为锁对象)&#xff0c;会遇到的问题 问题一&#xff1a;若直接使用&#xff1a;将获取锁的对象和设置的超时的时间分开&#xff0c;则不能控…

css实现图片绕中心旋转,鼠标悬浮按钮炫酷展示

vue模板中代码 <div class"contentBox clearfix home"><div class"circle"><img class"in-circle" src"../../assets/img/in-circle.png" alt""><img class"out-circle" src"../../as…

【Android】Android Framework系列--Launcher3各启动场景源码分析

Android Framework系列–Launcher3各启动场景源码分析 Launcher3启动场景 Launcher3是Android系统提供的默认桌面应用(Launcher)&#xff0c;它的源码路径在“packages/apps/Launcher3/”。 Launcher3的启动场景主要包括&#xff1a; 开机后启动&#xff1a;开机时&#xff…

Linux grep命令

目录 一. 前期准备二. 配置项2.1 -e 配置项2.2 -h 配置项 三. 正则表达式3.1 {} 或查询3.2 文件路径和查询关键词中均包含正则表达式 四. zgrep 一. 前期准备 ✅TEST-2023-07-11.txt MPLE0130 Exception 123 ExecTimeMPLE0190 ExecTime123 MPLE0150 TST 1234 ExecTime454 MPL…

Spring Boot 改版如何解决?使用阿里云创建项目、使用IDEA进行创建

接上次博客&#xff1a;JavaEE进阶&#xff08;2&#xff09;SpringBoot 快速上手&#xff08;环境准备、Maven&#xff1a;核心功能&#xff0c;Maven仓库、第⼀个SpringBoot程序&#xff1a;Spring介绍&#xff0c;Spring Boot介绍、创建项目&#xff09;-CSDN博客 目录 使…

网络篇---第一篇

系列文章目录 文章目录 系列文章目录前言一、HTTP 响应码有哪些?分别代表什么含义?二、Forward 和 Redirect 的区别?三、Get 和 Post 请求有哪些区别?前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这篇文章男…

ctfshow sql

180 过滤%23 %23被过滤&#xff0c;没办法注释了&#xff0c;还可以用’1’1来闭合后边。 或者使用--%0c-- 1%0corder%0cby%0c3--%0c--1%0cunion%0cselect%0c1,2,database()--%0c--1%0cunion%0cselect%0c1,2,table_name%0cfrom%0cinformation_schema.tables%0cwhere%0ctable_…