选取其中的frp内网穿透方式,给大家分享本此教程供大家参考。 ^ - ^

如果你有一台云服务器(有公网IP),或者有使用权,那么

在开源社区下载frp程序压缩包。

内网穿透java打开的网页 内网穿透程序源码_内网

我们这次下载windows64位frp演示:

下载文件,解压之后有如下内容:

内网穿透java打开的网页 内网穿透程序源码_内网_02

压缩包里面含有服务器程序,和电脑端程序,混在一起,大家只需要区分即可,也可以删除节省空间。

 首先,我们配置服务器端,删除多余的电脑端文件,保留服务器端的所需文件::

内网穿透java打开的网页 内网穿透程序源码_内网_03

注意:如果直接运双击运行EXE程序,会操作识别,提示我们用CMD命令操作,我们按这个来:

内网穿透java打开的网页 内网穿透程序源码_web安全_04

复制文件路径,打开CMD

像这样:

内网穿透java打开的网页 内网穿透程序源码_web安全_05

提示服务器端开启成功,它会监听7000端口消息,这个端口用于与本地端的通讯,如果需要配置其他端口,打开配置文件: 

 

内网穿透java打开的网页 内网穿透程序源码_服务器_06

内网穿透java打开的网页 内网穿透程序源码_服务器_07

里面就只有一个配置项,表示监听服务器的 7000 端口,作为客户端通信的入口;

一般默认即可,如果出现错误,请检查“端口号入口安全配置”,一般服务器平台会让客户自己配置端口。

用华为云平台示例:

内网穿透java打开的网页 内网穿透程序源码_内网_08

注意:一定要开启这两个端口!一个对外公网访问,一个对应本地端的访问,此时服务器理解是“跳板”!

如果你还有其他限制端口,也要开启相应权限:比如服务器上的宝塔软件

 ===================================================================

好的,服务器端配置完成。接下来我们进入本地电脑端的配置:

删除其他文件保留本地电脑端的文件,是这样:

内网穿透java打开的网页 内网穿透程序源码_内网_09

这里,我们打开配置文件了,这是默认配置,我们先介绍一下内容:

内网穿透java打开的网页 内网穿透程序源码_安全_10

server_addr : 需要填写上你个人云服务器的公网 ip 地址,这个一定要填写正确,不然无法和服务器进行通信;

server_port :就是服务器监听的端口,如果你服务器这个是默认7000,那这里就不用修改;

这两部分就是用来和我们服务器进行通信的配置。

[ssh] 这部分就是创建隧道,也就映射对应的应用,这里映射的是 ssh;

如果我们要创建web隧道,那就按我一样配置修改,如下图:

内网穿透java打开的网页 内网穿透程序源码_内网_11

提示:内网的本地电脑需要开启7000端口

用cmd运行本地电脑端程序:

内网穿透java打开的网页 内网穿透程序源码_web安全_12

运行成功!

再看我们服务器上的CMD也会同时收到消息:

内网穿透java打开的网页 内网穿透程序源码_内网_13

这里的意思就是把服务器的 6000 端口映射到内网机器的 80 端口上:

        当我们访问公网 ip + 6000 端口时,我们服务器就会处理6000端口消息,然后将消息转到服务器7000端口,7000端口因为一直保持和我们本地电脑的长链接,那我们内网本地电脑的7000端口,就会收到服务器的7000端口消息,然后本地电脑会7000转80端口,模拟出内网电脑 80 端口的消息,这里就是 [web_http];

下面我们用外网访问:

内网穿透java打开的网页 内网穿透程序源码_内网_14

 

 

 成功通过访问公网 ip + 6000 端口,看到部署在内网的消息“=/”

也证明了我们的 HTTP 穿透也是成功的。

注意事项

  • 客户端的配置项,不同的隧道需要区分开,写上不同的名字,如[ssh]、[mysql]、[web_http];
  • 客户端中 remote_port 的端口号不能一样,一样会冲突;
  • 服务器映射的端口需要放开范围,没有放开会造成无法通信;
  • 服务端和客户端都需要注意端口的冲突;
  • 配置好之后,接下来我们运行 frp 的客户端程序

注意:运行过程中,CMD窗口要一直保持开启,OK,分享教程完毕,大家点个赞吧~