微信公众号的开发,要搭建网站,并且随时都有可能修改网站内容进行调试,这就需要临时外网能返回本地开发环境搭建的项目进行测试,即内网映射到公网,但是好多开发者没有自己的域名和服务器,这里我们先来搭建一个本地代理环境把服务器地址变为外网能访问的地址。

  下面是我对内网映射外网的方法进行的一下简单总结:

  1 ngrok映射工具(失效)

  2 nodejs的localtunnel服务(虚拟域名,随机生成,总是变化,不方便)

  3 www.tunnel.mobl(失效)

  4 QQ浏览器微信调试工具(已下架)

  5 花生壳客户端--收费(Windows、Linux、树莓派、网页版),我电脑是mac的,没有对应客户端,所以没有选用这款工具


  6 pagekite(http://pagekite.net/)--收费 31天试用:我们进入他的官网,可以看到,它支持很多平台,我要使用的是mac平台的,点mac切换到安装命令提示上:

       

    安装提示打开终端执行命令,先执行第一行命令,完成后执行第二行,注意第二行中80,是你要使用的端口号,yourname是你的域名,第二条命令执行后,按照终端提示进行操作就可以了,提示注册产品是输入Y,提示填写邮箱时,最好填写真是邮箱然,之后记得去邮箱激活一下,提示继续时输入Y即可,提示保存设置时也输入Y。然后我们可以看到如下截图,图中蓝字即为本地端口号映射到外网的地址:

   

    打开注册邮箱,点击右键进行激活,可以看到,我的试用期是31天~

    

    激活后,终端会有提示信息:

    现在我们来测试一下,我在我的桌面,新建里一个test的文件夹,里面放了一个html文件,提示信息为Hello World,我们新开一个终端窗口使用python命令来启动服务:

    $ python -m SimpleHTTPServer 3100

    

    然后打开浏览器,在地址栏输入:http://localhost:3100/,可以看到我们的测试页面:

    打开本地端口号映射到外网的地址,我们也可以看到测试页面:

    证明使用pagekite,已经成功将内网穿透到了外网~~

    按control+C,可以退出pagekite,再次登录,执行命令$ pagekite.py即可(再次登陆系统会自动进入上次登陆的账号,自动完成网络映射)。


  7 NATAPP(https://natapp.cn/)--有2条免费隧道

    这里我要先说明一点,官网提示信息如下:

    我下面说的是免费隧道的使用方法,不能用于微信开发,如果有兴趣的同学,可以看看。

    先进入官网进行用户注册,注册完成后,下载客户端:

    下载完成后解压,然后打开终端,输入命令:

      打开终端进入natapp目录,执行 $ chmod a+x natapp

      然后接着执行 $ ./natapp

       结果如图所示:

    看到认证错误的提示信息,前面,我们已经进行了注册,但是那时,我没有申请免费隧道,现在,进入官网系统申请一个免费隧道,入口在购买通道菜单里,按照提示完成即可。注意隧道协议要选择Web。

     现在,我已经拥有了一条免费隧道:

    点击上图中的蓝色按钮--「点击复制」,赋值authtoken值,然后进入终端,输入命令:./natapp -authtoken=YourAuthtokenValue,执行成功,会看到如下界面:

    因为在配置pagekite的时候,我把测试页面放在了3100端口下,并用Python启动了服务,这里我图个省事,也是把natapp的端口设置在了3100,从上图中,可以看到,tunnel status 为online,这是,我们来看一眼,本地地址与外网地址页面:

    

    napapp已经配置成功了。

    按control+C退出,重新启动,执行命令./natapp -authtoken=YourAuthtokenValue

    (我写的过程比较简略,大家也可以参考这篇文章:https://natapp.cn/article/natapp_newbie)


  8 魔法隧道(http://www.mofasuidao.cn/)--有2条免费隧道

    进入魔法隧道官网,注册后登录,在用户控制中心,新建隧道,隧道信息可根据自己需要自行填写:

    创建完成后,可以在控制中心看到隧道列表:

    然后点击下载,到下载页面下载自己平台所需的客户端:

    我下载的是mac版的,下载后,我默认放到了桌面,打开终端,进入桌面目录,执行命令:

      $ chmod a+x mofaisuidao

      $ ./mofasuidao tokenValue

    上面命令行里的tokenValue为隧道token。

    看到下图则说明隧道已启动:

    这里我依然用3100端口做测试,可以看到成的页面效果如下:

    按control+C退出,执行命令$ ./mofasuidao tokenValue 启动隧道。

    魔法隧道官网,也提供了一篇文章,为使用魔法隧道提供帮助,大家也可以作为参考:http://www.mofasuidao.cn/rest/page/help

  到这里,我已知的内网映射外网的工具以及使用方法,已经总结完了,一方面,可以给自己备份下操作过程,另一方面,也希望给需要的同学提供一点参考,如果以后我知道了新的工具,也会补充到文章中的。

3 微信开发本地代理环境的搭建--实现将内网ip映射到外网的更多相关文章

  1. 微信公众号开发之怎样将本机IP映射成外网域名

    近期一个项目须要用到微信公众号的网页授权登录,在研究这个公众号的时候遇到各种困难,现将自己的一些心得总结一下. 我想进行微信公众号开发遇到的第一个困难就是微信公众号必须输入一个外网能够訪问的域名,在网 ...

  2. java -Mac搭建本地服务器并映射到外网

    最近在学习Html,小有进步变想着写一个浪漫的静态页面给女朋友浪漫一下,那么问题就来了,如何把我的网页让对网络一窍不通的女朋友看到,所以便想到了是用自己电脑作为服务器的想法.百度以后整理如下: 首先搭 ...

  3. Mac搭建本地服务器并映射到外网

    最近在学习Html,小有进步变想着写一个浪漫的静态页面给女朋友浪漫一下,那么问题就来了,如何把我的网页让对网络一窍不通的女朋友看到,所以便想到了是用自己电脑作为服务器的想法.百度以后整理如下: 首先搭 ...

  4. Android 获得本地IP地址、外网IP地址、本设备网络状态信息、本地Mac地址

    本地内网IP和外网IP的区别: 根据我的经验一台电脑需要两个ip才可以上网,一个是本地的内网ip 一个是外网的ip 本地的ip 一般是192.168.1.2这种样子  只要在不同的路由器上可以重复 外 ...

  5. Java开发和运行环境的搭建

    Java开发需要准备的东西? JDK+Eclipse 其中JDK的意思是Java开发工具包,Eclipse是进行用于做Java程序开发的工具(当然你也可以用记事本什么的去做). 其他开发工具:JCre ...

  6. 获取Mac、CPUID、硬盘序列号、本地IP地址、外网IP地址OCX控件

    提供获取Mac.CPUID.硬盘序列号.本地IP地址.外网IP地址OCX控件 开发语言:vc++ 可应用与WEB程序开发应用 <HTML><HEAD><TITLE> ...

  7. sockets+proxychains代理,使内网服务器可以访问外网

    Socks5+proxychains做正向代理 1.         应用场景: 有一台能上外网的机子,内网机子都不能连外网,需求是内网机子程序需要访问外网,做正向代理. 2.         软件 ...

  8. 本地k8s环境minikube搭建过程

    首先要安装docker这个环境是需要自己安装的.相关步骤如下: 1 2 3 4 5 6 7 8 9 10 11 yum install -y yum-utils device-mapper-persi ...

  9. VM中Linux网络设置(固定ip、连接外网开发环境)

      在开发过程中,我们经常需要在linux中进行操作.毕竟服务器的系统大多数都是Linux,所以在dev环境需要配置好一台Linux系统配合开发.   在VMWare Workstation Pro中 ...

随机推荐

  1. Map与对象关系的思考之P1563玩具谜题

    P1563 玩具谜题 结论: map在一些情况有种"对象"的意味,在JSON中,对象可以用K-V格式存储:mybatis中参数是map或者对象都可以实现解析...k-v格式的数据存 ...

  2. 2012 noip提高 Vigenère 密码

    P1079 Vigenère 密码 题目描述 16 世纪法国外交家 Blaise de VigenèreBlaisedeVigene`re 设计了一种多表密码加密算法―― VigenèreVigene ...

  3. 组管理命令--groupadd.groupmod.groupdel.gpasswd

    添加用户组 格式 groupadd [参数] 组名 参数选项 -g GID:指定新组的GID,默认值是已有的最大的GID加1.-r:建立一个系统专用组,与-g不同时使用时,则分配一个1-499的GID ...

  4. alt、title和label

    alt是html标签的属性,而title既是html标签,又是html属性. title标签这个不用多说,网页的标题就是写在<title></title>这对标签之内的. ti ...

  5. python 装饰器模拟京东登陆

    要求: 1.三个页面:主页面(home).书店(book).金融页面(finance)2.有两种登陆方式:主页面和书店页面使用京东账户登陆,金融页面使用微信账户登录2.输入:1 ,进入主页面,以此类推 ...

  6. 【POJ 1061】青蛙的约会(EXGCD)

    Description 两只青蛙在网上相识了,它们聊得很开心,于是觉得很有必要见一面.它们很高兴地发现它们住在同一条纬度线上,于是它们约定各自朝西跳,直到碰面为止.可是它们出发之前忘记了一件很重要的事 ...

  7. 关于一个多个.cpp文件的项目中,函数出现未定义引用错误

    编译的话,必须把全部的c文件都要编译的啊,只编译一个c算怎么个逻辑呢?编译实际上是2个过程,编译和链接.编译过程只检查所有的符号(变量,函数)有没有声明,即只需要h文件生命就够了.但是链接时候,需要找 ...

  8. 类函数调用与this指针

    1.定义多个对象是,C++编译器只分配一段空间存放公共的函数代码段,调用各个对象的函数时,都调用这个公共的代码片段. 每个对象的存储空间只是包含该对象数据成员所占的空间,函数代码存储在对象空间之外. ...

  9. [luoguP1169] [ZJOI2007]棋盘制作(单调栈)

    传送门 和玉蟾宫差不多 ——代码 #include <cstdio> #include <iostream> using namespace std; ; int n, m, ...

  10. Linux内核设计与实现——读书笔记2:进程管理

    1.进程: (1)处于执行期的程序,但不止是代码,还包括各种程序运行时所需的资源,实际上进程是正在执行的 程序的实时结果. (2)程序的本身并不是进程,进程是处于执行期的程序及其相关资源的总称. (3 ...