3 微信开发本地代理环境的搭建--实现将内网ip映射到外网
微信公众号的开发,要搭建网站,并且随时都有可能修改网站内容进行调试,这就需要临时外网能返回本地开发环境搭建的项目进行测试,即内网映射到公网,但是好多开发者没有自己的域名和服务器,这里我们先来搭建一个本地代理环境把服务器地址变为外网能访问的地址。
下面是我对内网映射外网的方法进行的一下简单总结:
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映射到外网的更多相关文章
- 微信公众号开发之怎样将本机IP映射成外网域名
近期一个项目须要用到微信公众号的网页授权登录,在研究这个公众号的时候遇到各种困难,现将自己的一些心得总结一下. 我想进行微信公众号开发遇到的第一个困难就是微信公众号必须输入一个外网能够訪问的域名,在网 ...
- java -Mac搭建本地服务器并映射到外网
最近在学习Html,小有进步变想着写一个浪漫的静态页面给女朋友浪漫一下,那么问题就来了,如何把我的网页让对网络一窍不通的女朋友看到,所以便想到了是用自己电脑作为服务器的想法.百度以后整理如下: 首先搭 ...
- Mac搭建本地服务器并映射到外网
最近在学习Html,小有进步变想着写一个浪漫的静态页面给女朋友浪漫一下,那么问题就来了,如何把我的网页让对网络一窍不通的女朋友看到,所以便想到了是用自己电脑作为服务器的想法.百度以后整理如下: 首先搭 ...
- Android 获得本地IP地址、外网IP地址、本设备网络状态信息、本地Mac地址
本地内网IP和外网IP的区别: 根据我的经验一台电脑需要两个ip才可以上网,一个是本地的内网ip 一个是外网的ip 本地的ip 一般是192.168.1.2这种样子 只要在不同的路由器上可以重复 外 ...
- Java开发和运行环境的搭建
Java开发需要准备的东西? JDK+Eclipse 其中JDK的意思是Java开发工具包,Eclipse是进行用于做Java程序开发的工具(当然你也可以用记事本什么的去做). 其他开发工具:JCre ...
- 获取Mac、CPUID、硬盘序列号、本地IP地址、外网IP地址OCX控件
提供获取Mac.CPUID.硬盘序列号.本地IP地址.外网IP地址OCX控件 开发语言:vc++ 可应用与WEB程序开发应用 <HTML><HEAD><TITLE> ...
- sockets+proxychains代理,使内网服务器可以访问外网
Socks5+proxychains做正向代理 1. 应用场景: 有一台能上外网的机子,内网机子都不能连外网,需求是内网机子程序需要访问外网,做正向代理. 2. 软件 ...
- 本地k8s环境minikube搭建过程
首先要安装docker这个环境是需要自己安装的.相关步骤如下: 1 2 3 4 5 6 7 8 9 10 11 yum install -y yum-utils device-mapper-persi ...
- VM中Linux网络设置(固定ip、连接外网开发环境)
在开发过程中,我们经常需要在linux中进行操作.毕竟服务器的系统大多数都是Linux,所以在dev环境需要配置好一台Linux系统配合开发. 在VMWare Workstation Pro中 ...
随机推荐
- OVOO
题目描述: $zhx$有一个棵$n$个点的树,每条边有个权值. 定义一个连通块为一个点集与使这些点连通的所有边(这些点必须连通). 定义一个连通块的权值为这个连通块的边权和(如果一个连通块只包含一个点 ...
- 不同子系统采用不同MySQL编码LATIN1和UTF8的兼容
程序处理 这是一个历史遗留系统, 旧的系统是C++开发的, 插入数据的时候, 没有统一MYSQL各个层次(服务器, 数据库, 表, 列)的编码, 这个情况基本上是MYSQL的默认安装导致的, 实际的数 ...
- Django框架基础知识11-会话状态保持及表单
浏览器存储cookie的方式不太安全,那有没有更好些的来存储登入状态的方式呢??? 状态保持----cookie和session: 状态保持: 1.http协议是无状态的:每次请求都是一次新的请求,不 ...
- POJ 3621 Sightseeing Cows (最优比率环 01分数划分)
题意: 给定L个点, P条边的有向图, 每个点有一个价值, 但只在第一经过获得, 每条边有一个花费, 每次经过都要付出这个花费, 在图中找出一个环, 使得价值之和/花费之和 最大 分析: 这道题其实并 ...
- js的几个可能不清晰的问题
一、关于全局变量的 var test=function(){ var a=1; setTimeout(function(){ console.log(a); a=2; },1000); a=3; se ...
- bootspring网站项目,Date类型插入数据库始终比正确时间早一天问题的解决
bug描述 昨天的Date插入不进去问题解决后,一直没发现其实插入的时间一直比正确的时间早一天 输出sql语句,发现insert语句还是对的,不知道为什么插入数据库之后结果就早了一天 https:// ...
- sprintboot + mybaits + mysql + html5 + thymeleaf 个人笔记
参考:https://github.com/daleiwang/moxi service @Mapper 与 @Select 等 @Mapper似乎是一个myBaits 注解,表示将java方法和sq ...
- FZU-1881-Problem 1881 三角形问题,打表二分查找~~
B - 三角形问题 Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u Descripti ...
- Linux(2):基础命令
linux 的规则: 1. linux 命令行组成结构:如下 [root@neo ~]# [用户名@主机名 当前工作路径]# ~ 用户的家目录 2. linux系统命令操作语法的格式(命令的样子): ...
- WebApi下载附件文件
WebApi下载附件文件 1. [RoutePrefix("down")] public class FilesController : ApiController { [GET( ...