Sunny-Ngrok:如何在没有公网ip或者二级运营商实现外网访问内外机器,实现本地开发调试。

不少状况下,咱们须要对客户延时作好的demo、服务器放在家里或者公司没有公网,怎么实现外网访问?php

20190706001252232.png
这是我本地的一个演示地址,我要在外网访问须要怎么操做呢?shell

经过路由器的端口转发实现

一、进入路由器选择端口转发

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2E1NzQwNDU2,size_16,color_FFFFFF,t_70

二、添加转发信息

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2E1NzQwNDU2,size_16,color_FFFFFF,t_70
添加端口转发信息,外部端口使用 10000 内部端口是 80,也就是说外网经过 ip:10000 访问的时候实际上访问到的是 192.168.1.175:80 这个ip的80端口服务器

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2E1NzQwNDU2,size_16,color_FFFFFF,t_70
在路由器里面能够看到个人外网ip,或者在 http://www.ip138.com 也能够看到
2019070600172516.png
只要让在外网的人经过 http://123.121.142.122:10000/ 就能够访问到我 192.168.1.175:80 这个端口里面的php文件了微信

若是想要进行 ssh端口 或者 3389 远程访问也是同样的方式操做。微信开发

经过路由器的dmz方式实现

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2E1NzQwNDU2,size_16,color_FFFFFF,t_70
这里填写了我一个树莓派的地址,而后我经过在腾讯云服务器使用ssh配合个人外网ip登录树莓派。只须要在腾讯云的服务器上输入如下命令就能够登录我家里的树莓派。ssh

ssh pi@123.121.142.122

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2E1NzQwNDU2,size_16,color_FFFFFF,t_70
经过上图已经能够看到我经过腾讯云的服务器使用ssh登录到了个人树莓派里面。这种是在一级运营商拉的网线有公网ip的状况下能够经过路由器实现的外网访问内网服务。异步

注意:在作http服务的时候80端口是不能外网访问的,因此能够经过其余端口访问,例如我就用了10000端口在外网访问,可是在开发微信的时候这点仍是不方便,微信只接受80或者443

这些功能在你接入一级运营商的时候是能够用的,可是遇到二级运营商或者小区宽带的时候,这就颇有心无力了。由于你从这些运营商获得的ip是一个内ip,你本身路由器至关于一个二级路由器,因此在二级路由器端口转发可是在一级路由器并无,也就是说相似住宅楼同样,你把你加的房门打开了,可是一楼大厅的大门没有打开,外面的人仍是进不来。网站

那咱们还有没有什么别的办法能让外网不须要加端口直接访问到80呢?答案是确定有的。最简单的办法是经过 Sunny-Ngrok 实现,仅须要在平台注册帐号密码设置好映射的信息,只要一条命令就能实现外网访问内网了。spa

一、打开 注册界面 注册一个帐号

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2E1NzQwNDU2,size_16,color_FFFFFF,t_70

二、开通隧道

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2E1NzQwNDU2,size_16,color_FFFFFF,t_70
因为网站提供了Ngrok和Frp两种服务,所以用户须要本身选择想要开通的类型。操作系统

注意:详细阅读网站弹出来的提示,由于很重要
注意:详细阅读网站弹出来的提示,由于很重要
注意:详细阅读网站弹出来的提示,由于很重要

三、填写隧道信息

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2E1NzQwNDU2,size_16,color_FFFFFF,t_70

根据本身实际状况填写

隧道开通以后不能更换协议和服务器
隧道开通以后不能更换协议和服务器
隧道开通以后不能更换协议和服务器

四、下载客户端

返回首页下载客户端
watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2E1NzQwNDU2,size_16,color_FFFFFF,t_70
遇到问题的时候能够观看使用教程哦,里面提供了比较详细的教程。选择本身开通的服务类型和操做系统版本下载。

网站有两种客户端,记得要匹配本身的开通服务类型
网站有两种客户端,记得要匹配本身的开通服务类型
网站有两种客户端,记得要匹配本身的开通服务类型

对于开发者建议开通Ngrok、由于在作微信开发或者支付异步回调的时候能够经过127.0.0.1:4040 实现请求查看和重发,对于开发人员来讲比上传代码到服务器和写日志查看日志更省心省力省时间。

五、启动隧道

必定要观看官网教程,注意不通的服务类型有不通的启动方式区分,Windows进入cmd命令启动不是双击;Linux经过终端启动。

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2E1NzQwNDU2,size_16,color_FFFFFF,t_70

这个是我在平台上的配置

20190706003810870.png
这个是我在mac的启动方式

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2E1NzQwNDU2,size_16,color_FFFFFF,t_70
启动成功的界面是这样的,我经过上面显示出来的地址就能够访问到个人路由器了,由于个人路由器ip是192.168.1.1 我这里隧道映射的ip也是 192.168.1.1

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2E1NzQwNDU2,size_16,color_FFFFFF,t_70

这样就能够看到已经实现了外网访问内网的机器了。

若是是开发者经过 http://127.0.0.1:4040 能够获得更丰富的功能。

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2E1NzQwNDU2,size_16,color_FFFFFF,t_70

能够看到右边有一个再次请求和下面在内网返回的信息都已经返回回来了,在作异步支付的时候就能够在本地开发了,而且能够看到代码是哪里报错了。

相关文章
相关标签/搜索