<返回更多

内网穿透利器-ngrok的图文安装

2022-06-20    IT智能化专栏
加入收藏

使用场景:

在做微信开发或是调银行或支付宝等支付系统的时候,本地想联调但是对方需要可以访问的域名或是外网IP才可以。但是,在本地如果不在路由器上做映射或是公司没有固定的外网IP。这种情况怎么办呢?可以使用ngrok实现内网穿透。

什么是ngrok?

内网穿透利器-ngrok的图文安装

 

为什么要使用ngrok?

内网穿透利器-ngrok的图文安装

 

Ngrok的安装

一:必要条件及前期准备

1.1:服务器

这个服务器用来作为ngrok服务器的。必须是公网IP,必须可以正常访问的(可以在阿里云、腾讯云等国内购买,也可以购买国外vps,不建议国外。因为国外的访问速度不行。Ps:如果想购买阿里云,凯哥有优hui的连接)

1.2:域名

这个域名是用来访问的。

1.3:域名泛解析

什么是域名泛解析呢?就是使用*号代替。如下图:

内网穿透利器-ngrok的图文安装

 

需要说明:

比如泛域名使用的是*.ngrok,同时还需要解析一个ngrok的域名。

1.4:下载准备好的安装脚本

内网穿透利器-ngrok的图文安装

 

二:进行安装

2.1:先将按照脚本通过SSH上传到服务器上。

内网穿透利器-ngrok的图文安装

 

2.2 进行安装

2.2.1 执行ngrok.sh脚本

切换到脚本目录。如:cd /home

执行./ngrok

根据提示进行安装。

输入一个域名

内网穿透利器-ngrok的图文安装

 


内网穿透利器-ngrok的图文安装

 

输入第一步中准备的域名。

2.2.2 根据提示,选择对应的数字进行操作

内网穿透利器-ngrok的图文安装

 


内网穿透利器-ngrok的图文安装

 

说明:

1:凯哥已经安装过了,所以先要进行删除卸载。

2:最好别选择1 全新安装。因为你不知道执行到哪一步了。选择分布执行。

3:先选择2 依赖安装

内网穿透利器-ngrok的图文安装

 

依次安装git、go、ngrok。这里就不演示了

安装完ngrok后会出现:

内网穿透利器-ngrok的图文安装

 

然后心开一个SSH窗口。生成客户端

内网穿透利器-ngrok的图文安装

 


内网穿透利器-ngrok的图文安装

 

根据自己系统生成对应的客户端。

凯哥使用的是windos 64位的。所以就选择4.

生产完成后,客户端在 /usr/local/ngrok/bin下

如下图:

内网穿透利器-ngrok的图文安装

 

将客户的下载到本地后。客户端测试。

三:客户端测试

3.1:配置客户端

内网穿透利器-ngrok的图文安装

 


内网穿透利器-ngrok的图文安装

 

在客户端目录创建ngrok.cfg

配置信息如下:

内网穿透利器-ngrok的图文安装

 

3.2 启动

客户端服务启动方式

方式一:ngrok -config ngrok.cfg start weixin #启动名称为weixin的服务

方式二:ngrok -config ngrok.cfg -subdomain test 127.0.0.1:6888#命令指定方式

3.3:当看到

内网穿透利器-ngrok的图文安装

 

说明启动成功。

现在可以在浏览器中访问试试看。如下图:

内网穿透利器-ngrok的图文安装

 

可以看到,通过域名访问。但是实际上访问的就是本地访问。

另外分享内网穿透服务搭建-JAVA

前言碎语

内网穿透服务在开发中有很多的应用场景,比如1.和第三方接口本地联调对接,2.本地微信开发时联调回调等等。当然,使用场景不止这些,然后有需求就会有 市场就会有产品,付费产品比较著名的有“花生壳”,然后免费的有ngrok,早期博主也分享过国内的一些免费的ngrok,详见《ngrok(微信开发福利)内网穿透神器》。然而,这些免费的ngrok慢慢都停服了或者转向会员收费制了。免费的服务不稳定加上流量经过别人服务器不安全等因素,或多或少影响了我们使用。今天,博主分享一个用java开发的开源的软件lanproxy ,来搭建自己的内网穿透服务,彻底告别网上各种搜索免费的ngrok服务了。

lanproxy是什么?

lanproxy是一个将局域网个人电脑、服务器代理到公网的内网穿透工具,,在github上面已经开源,目前已经收到2000多star。目前支持tcp流量转发,可支持任何tcp上层协议(访问内网网站、本地支付接口调试、ssh访问、远程桌面...)。目前市面上提供类似服务的有花生壳、TeamView、GoToMyCloud等等,但要使用第三方的公网服务器就必须为第三方付费,并且这些服务都有各种各样的限制,此外,由于数据包会流经第三方,因此对数据安全也是一大隐患。

github坐标 :

https://github.com/ffay/lanproxy

lanproxy原理?

lanproxy是基于java通讯框架.NETty开发的,由服务端和客户端组成,服务端启动后,客户端会去连接服务端,然后和服务端建立tcp连接通道。服务端负责接收外部流量,然后根据配置的端口映射规则转发给客户端监听的端口服务(本地内网),从而达到内网穿透的目的。

lanproxy下载地址?

服务端:proxy-server.zip

java客户端:proxy-client.zip,更多客户端类型,可访问:

https://seafile.io2c.com/d/3b1b44fee5f74992bb17

启动server端

准备一台安装jdk的服务器(支持linuxwindows),需要有外网地址。下载server下来后,解压proxy-server.zip,进入到bin目录,执行startup.sh脚本就启动了,默认的访问端口是8090.用户名和密码是admin/admin。可以通过conf/config.properties修改。

访问http://ip:8090,就可以看到如下页面了

内网穿透利器-ngrok的图文安装

 

服务端启动后,需要添加客户端信息,客户端主要生成一个client.key,用来做连接的认证信息的。然后如下图,选择 一个客户端添加端口映射。

内网穿透利器-ngrok的图文安装

 

客户端链接

客户端下载下来后,先解压,目录结构和服务端一样,先去conf/config.properties中把server.host修改为你的服务端ip,服务端端口默认4900不用变。然后把第一步客户端生成的客户端密码配置给client.key。然后启动bin/startup.bat就可以了。如果连接服务器成功,管理控制台就会显示在线。然后就可以使用serverip:xxx来访问你的内网服务了

文末结语

企业开发中,提供一个这样的内网穿透服务真的很有必要。除了自建不需要付费给第三方服务外最重要的还是安全问题。这个lanproxy软件博主体验下来非常不错,所以给大家推荐了

声明:本站部分内容来自互联网,如有版权侵犯或其他问题请与我们联系,我们将立即删除或处理。
▍相关推荐
更多资讯 >>>