微信开发ngrok_ngrok 微信开发 - CSDN
  • 1.准备工作: 贴出我自己的环境:centos7 64 1.软件: git,go,ngrok打包下载: 链接:http://pan.baidu.com/s/1c2tbOEc 密码:dqv5 go全部版本下载地址:http://www.golangtc.com/downlo...

    1.准备工作:

    贴出我自己的环境:centos7 64

    1.软件:

    git,go,ngrok打包下载:
    链接:http://pan.baidu.com/s/1c2tbOEc 密码:dqv5
    go全部版本下载地址:http://www.golangtc.com/download

    2.安装git

    1、安装git,我安装的是2.6版本,防止会出现另一个错误,安装git所需要的依赖包

    yum -y install zlib-devel openssl-devel perl hg cpio expat-devel gettext-devel curl curl-devel perl-ExtUtils-MakeMaker hg wget gcc gcc-c++

    2、下载git

    卸载其他的git:

    yum -y remove git*
    cd /usr/local

    下载git:

    wget https://www.kernel.org/pub/software/scm/git/git-2.6.0.tar.gz

    3、解压git

    tar zxvf git-2.6.0.tar.gz

    4、编译git

    cd git-2.6.0
    ./configure --prefix=/usr/local/git
    make
    make install

    5、创建git的软连接

    ln -s /usr/local/git/bin/* /usr/bin/

    3.安装go环境

    准备go环境,我的系统是64位的centos所以我下载amd64的包

    1、下载go的软件包

    cd /usr/local
    wget http://www.golangtc.com/static/go/1.4.2/go1.4.2.linux-amd64.tar.gz

    2、解压出来可以随便指定位置

    tar -zxvf go1.4.2.linux-amd64.tar.gz

    3、go的命令需要做软连接到/usr/bin

    ln -s /usr/local/go/bin/* /usr/bin/

    4.编译ngrok

    注:这里把ip地址换成自己的;

    git clone https://github.com/inconshreveable/ngrok.git
    export GOPATH=/usr/local/ngrok/
    export NGROK_DOMAIN="ngrok.baidu.com"
    cd ngrok

    5.为域名生成证书

    openssl genrsa -out rootCA.key 2048
    openssl req -x509 -new -nodes -key rootCA.key -subj "/CN=$NGROK_DOMAIN" -days 5000 -out rootCA.pem
    openssl genrsa -out server.key 2048
    openssl req -new -key server.key -subj "/CN=$NGROK_DOMAIN" -out server.csr
    openssl x509 -req -in server.csr -CA rootCA.pem -CAkey rootCA.key -CAcreateserial -out server.crt -days 5000

    6.在软件源代码目录下面会生成一些证书文件,我们需要把这些文件拷到指定位置(如果有确认提示: 输入y确认即可)

    cp rootCA.pem assets/client/tls/ngrokroot.crt
    cp server.crt assets/server/tls/snakeoil.crt
    cp server.key assets/server/tls/snakeoil.key

    7.如果是在国内的服务器需要改,香港或者国外的服务器不需要

    vi /usr/local/ngrok/src/ngrok/log/logger.go
    log "github.com/keepeye/log4go"

    8.指定编译环境变量,如何确认GOOS和GOARCH,可以通过go env来查看,编译服务端

    cd /usr/local/go/src
    GOOS=linux GOARCH=amd64 ./make.bash
    cd /usr/local/ngrok/
    GOOS=linux GOARCH=amd64 make release-server

    9.编译客户端(根据自身情况选择相应的客户端):

    注:编译后的客户端在/usr/local/ngrok/bin下:

    linux 64位操作系统使用下面的命令:

    cd /usr/local/go/src
    GOOS=linux GOARCH=amd64 ./make.bash
    cd /usr/local/ngrok/
    GOOS=linux GOARCH=amd64 make release-client

    mac os 64位操作系统使用下面的命令:

    cd /usr/local/go/src
    GOOS=darwin GOARCH=amd64 ./make.bash
    cd /usr/local/ngrok/
    GOOS=darwin GOARCH=amd64 make release-client

    Windows64位操作系统使用下面的命令:

    cd /usr/local/go/src
    GOOS=windows GOARCH=amd64 ./make.bash
    cd /usr/local/ngrok/
    GOOS=windows GOARCH=amd64 make release-client

    10.客户端配置文件ngrok.cfg

    注:这里把ip地址换成自己的;
    新建一个ngrok.cfg配置的文件放在客户端同一目录,内容如下:

    server_addr: "ngrok.baidu.com:4443"
    trust_host_root_certs: false

    11.服务端启动

    /usr/local/ngrok/bin/ngrokd -domain="$NGROK_DOMAIN" -httpAddr=":80"

    如果重启过服务器,请用下面的命令再次启动ngrok服务端:

    /usr/local/ngrok/bin/ngrokd -domain="ngrok.baidu.com" -httpAddr=":80"

    12.客户端启动

    linux客户端启动命令:

    ./ngrok -config=./ngrok.cfg -subdomain=blog 80

    windowns客户端启动命令:

    ngrok -config=./ngrok.cfg -subdomain=blog 80

    如果想在linux的后台运行:

    setsid ./ngrok -config=./ngrok.cfg -subdomain=test 80 

    13.打开80,4443端口

    firewall-cmd --zone=public --add-port=80/tcp --permanent
    firewall-cmd --zone=public --add-port=4443/tcp --permanent
    firewall-cmd --reload

    到这里整个ngrok就搭建成功了,如果有什么问题或建议欢迎给我留言,么么哒!

    结语:搭建属于自己的ngrok服务器,实现内网穿透,外网访问内网,可本地开发微信不需要上传服务器


    4.问题总汇,以下非重点,出现问题再看

    出现下面这个错误说明需要安装hg:

    package code.google.com/p/log4go: exec: "hg": executable file not found in $PATH

    解决办法:

    yum install hg -y

    编译到 go get gopkg.in/yaml.v1 的时候卡住不走了,说明是git比较低,版本需要大于1.7.9.5以上

    fatal: Unable to find remote helper for 'https'

    出现这个问题,可以重新安装 curl curl-devel 然后再重装git
    安装git-core

    wget https://www.kernel.org/pub/software/scm/git/git-core-0.99.6.tar.gz
    tar zxvf git-core-0.99.6.tar.gz
    cd git-core-0.99.6
    make prefix=/usr/libexec/git-core install
    export PATH=$PATH:/usr/libexec/git-core/

    感谢:http://www.sunnyos.com/article-show-48.html提供资料和思路

    转载于:https://my.oschina.net/jason26/blog/1623933

    展开全文
  • 由于要接入微信公众号,查看了官网上的接入文档,必需是80端口而且微信服务器需要验证token,那我本地开发不可能每次都把源码上传到服务器上吧,而且也不方便,这就需要能内网穿透的工具,能让外网通过外网域名访问...

    由于要接入微信公众号,查看了官网上的接入文档,必需是80端口而且微信服务器需要验证token,那我本地开发不可能每次都把源码上传到服务器上吧,而且也不方便,这就需要能内网穿透的工具,能让外网通过外网域名访问我本机的127.0.0.1IP,于是研究了一下ngrok,ngrok 是一个反向代理,通过在公共的端点和本地运行的 Web 服务器之间建立一个安全的通道,而且还可以将自己的应用暴露给外部网部,是不是觉得很酷。

             1.从官网上https://dashboard.ngrok.com/get-started上下载ngrok程序,我本机是win所以下载了win版

    2.解压放到D盘,然后登陆ngrok,拿到authtoken

     

    3.cmd进入到ngrok安装包里,将authtoken保存到本地c盘上。

    ngrok  authtoken 3Uc6rWP*******G_5QnGAh8Mptyra6aqTzu59

    安装成功提示

     

    4.ngrok help会有命令提示:

     

    看红色截图:

    假设tomcat已经启动,且端口号是8183那么启动ngrok命令是:

    ngrok http 8183 

    结果如图:

     

    注意默认是免费版的,。

    测试一下tomcat例子里的项目:http://2ff66b8a.ngrok.io/examples/index.html(注意2ff66b8a是随机域名,每次ngrok启动是不一样的)

    结果如图:

     

    而本机通过http://127.0.0.1:8183/examples/index.html结果是:

    发现两者是一样一样的。由于每次启动生成随机域名,我们想绑定固定域名,比如我现在开发weixin,我就想绑定weixin,而上面说过ngrok help有提示

     

    所以输入命名:ngrok http -subdomain=weixin 8183 :绑定weixin.结果如图:

     

    纳尼,看看错误日志,要钱,一万个***奔腾而过,算了,果然放弃官方的。不过如果舍得钱也可以花钱去买,使用方法如上,日志里有地址:https://dashboard.ngrok.com/billing/plan

    那我转而去找免费的,国内有个朋友已经搭建了一个www.tunnel.mobi的ngrok公共服务,与ngrok.com类似,也能实现内网穿透。地址:http://ngrok.2bdata.com/

     

    步骤是解压,放D盘,cd命令进入,dos命令执行:ngrok-config=ngrok.cfg -subdomain xxx 80 //(xxx 是你自定义的域名前缀,80是你要代理的接口)。我们不仿写的start.bat如下:

    ngrok-config=ngrok.cfg -subdomain chenyuanX 8183

    让nrgok代理的本机的8183端口,域名是chenyuanX。

     

    启动成功界面,http://chenyuanx.tunnel.2bdata.com ->127.0.0.1:8183即代理的本机8183的域名。(注意,还有一个https的安全协议也可以访问)

    启动端口号是8183的tomcat,测试一下,是不是和上面的一样:

     

    至此,用外网域名能成功访问我本机的应用,而且是80端口。再看看127.0.0.1:4040后台管理界面:

     

    上面拦截到了我的请求,由于是在我本面上访问的,那如果是外网访问的是不是也能行呢。特意让我老婆在她们公司访问了一下,(呵呵),效果如下:

    展开全文
  • 微信开发ngrok内网穿透工具

    千次阅读 2018-12-12 15:48:46
    微信开发中需要填写各种安全域,之前单单使用ngrok,除了要翻墙外,还一堆乱七八糟的问题,因为它自定义域名是要付费的,坑死一堆工程师,每次关闭了ngrok,就要重新配置一次微信安全域,还要改代码,烦的要死。...

    微信开发中需要填写各种安全域,之前单单使用ngrok,除了要翻墙外,还一堆乱七八糟的问题,因为它自定义域名是要付费的,坑死一堆工程师,每次关闭了ngrok,就要重新配置一次微信安全域,还要改代码,烦的要死。

    最近发现了一个神器,也是基于ngrok的,但他免费!!!没听错,自定义域名免费。官方管理平台网址为:http://www.ngrok.cc/index.php/Login/index.html

    下面是使用方法:

    1:按提示注册一个用户,然后登陆主页面如下:

    这里比较关键的是那个token,后面是要加入到配置文件中的

    2.配置系统预留的域名后缀或者自定义域名,如图所示:

    这里着重说一下自定义域名和系统分配:系统分配意思是说设置域名后后面会加上ngrok.cc后缀域名,自定义域名是配置的则不会加上。这里我配置的系统分配是vince,自定那么我的完整域名就是vince.ngrok.cc

    3.接着就是到http://www.ngrok.cc/下载自己平台的ngrok,下载完解压后主要有ngrok.exe和ngrok.cfg文件,也可以到我的资源中下载http://download.csdn.net/detail/u012557538/9543018

    4.接下来就是关键的配置ngrok.cfg文件了,我的如下:

    <span style="font-size:18px;">server_addr: "server.ngrok.cc:4443"
    auth_token: "baf677df332b9116f6xxxxx" #授权token,在www.ngrok.cc平台注册账号获取
    tunnels:
      vince:
       subdomain: "aa.com" #定义服务器分配域名前缀,跟平台上的要一样
       proto:
        http: 192.168.2.111:8080 #映射端口,不加ip默认本机
        https: 192.168.2.111:8080</span>


    5.接下来就是在命令行下启动ngrok,记住,不能直接双击打开,进入ngrok目录后输入命令:

     

     

     

    ngrok.exe -config ngrok.cfg -subdomain 域名前缀 内网ip:端口号

    这里我输入的是ngrok.exe -config ngrok.cfg -subdomain vince192.168.2.111:8080

    然后就是期待已久的页面啦,如图:

    6.上面配置的是自己的本机ip地址,所以我的web应用就应该部署在本机8080上,随便写个测试程序AA,浏览器输入http://vince.ngrok.cc/AA/index.jsp,然后就大功告成了

     

    (注:2018-12-12补充,最近对接钉钉平台,发现阿里封装了ngrok,简直简单粗暴的不要不要的---https://open-doc.dingtalk.com/microapp/debug/ucof2g)

     

    展开全文
  • 微信开发ngrok环境搭建

    千次阅读 2016-12-08 16:47:43
     各位肯定都知道,做微信开发,我们的开发服务器需要和微信服务器做交互,我们需要准备一台放置在公网的服务器,能够使得我们的服务器可以正常访问微信服务器,并且微信服务器也需要可以正常访问我们的开发服务器。...

    一,为什么要用到ngrok?

           各位肯定都知道,做微信开发,我们的开发服务器需要和微信服务器做交互,我们需要准备一台放置在公网的服务器,能够使得我们的服务器可以正常访问微信服务器,并且微信服务器也需要可以正常访问我们的开发服务器。并且我们做开发时的服务器都是放在内网中的,只能通过内网来访问。然而微信服务器无法和我们的内网服务器做交互,这就导致我们做微信开发在本地调试出现了一定的困难!

         今天就向大家介绍一个非常强大的外网映射工具:ngrok.它可以把你的本地ip(127.0.0.1|localhost)映射成一个公网域名,这样所有人都可以通过这个域名来访问你的项目,这个功能对本地调试,特别是微信公众号开发带来了极大的便利.

    示例:
    http://localhost:8080/项目名/ -> http://**.ngrok.cc/项目名

    提醒:微信接口服务只支持80端口,并不支持其他的端口

    ,准备开发工具

         1.tomcat

         2.ngrok客户端(可以访问官网进行下载,官网地址是:http://www.ngrok.cc)

    三,ngrok版本说明

        

    此处要介绍三个ngrok版本:ngrok,tunnel,sunny-ngrok.

    第一个版本是国外开发的原生ngrok版本,这个版本将我们的本地ip映射到一个二级域名上,这个域名有两种形式:自定义主机名和系统分配主机名(主机名为最左边的部分,比如我们平时经常看到的www).这个版本有两个缺陷:
    1.系统分配的主机名是动态分配的,即每一次开启都会不一样,所以每次访问的时候都要记住不一样的域名,这很蛋疼.
    2.这个域名是在国外的,所以访问速度会相当慢

    第二个版本是国内基于ngrok开发的一个改良版,由于域名在国内,所以解决了访问慢的问题,但是这个版本现在已经无法使用

    第三个版本也是国内开发出的一个版本,可以自定义主机名,还可以自定义域名(前提是你有一条域名),很好的解决了原生ngrok的那两条缺陷.

    ,环境搭建步骤

             我们这里主要来介绍sunny-ngrok版本的搭建方法;

            1、访问ngrok授权管理系统(http://www.ngrok.cc/login),点击注册,注册帐号。

           

            2,注册一个新的账号,如下如所示:

            

     

             3,注册成功以后点击登录进入ngrok授权管理系统的主界面,然后点击左侧菜单栏中的隧道管理----》开通隧道,进入下面的界面,


              

         进入界面以后提供隧道的两种购买方式,一种是付费的,一种是免费(其实两者的区别就是带宽的不同,如果只是做测试用,10M带宽肯定够用)

         然后点击立即购买;将会出现下面的界面

     

          注意:1.隧道协议选择http协议;

                    2.填写隧道名称以及前置域名

                    3.把上面本地端口改成127.0.0.1:8080

        然后点击确定添加

        4.确定添加成功后跳转到新的界面下,继续点击左侧菜单中的隧道管理,出现下面的界面,并且要复制隧道id

      


      5.下载ngrok的客户端

         访问下面的网址http://www.ngrok.cc就可以下载客户端,如下图所示:


             下载到本地的D盘中,然后解压,如下图所示:





    6.输入上文的隧道id,然后回车。如下图所示:



    到此ngrok的环境搭建已经完成,下面就是测试,测试的时候在项目中启动tomcat,用http://127.0.0.1:8080/访问能访问到

    同时用http://****.ngrok.cc/也能访问到;


    7.最后一步就是把该域名配置到微信公众平台上就ok了,大功告成。。。。。。


    展开全文
  • 在本地用ngrok 内网穿透代理本地端口后,因为代理地址的ip 在国外的原因导致配置失败。 解决方案: 用nginx 代理一次,再用ngrok 代理nginx 成功解决
  • 使用ngrok微信公众号token验证

    千次阅读 2018-09-06 15:44:37
    公司要做微信开发,需要在本地配置开发环境,使用的是ngrok,以前用的花生壳,ngrok是我以前那个同事教我的,当时没学会,以前觉得很难。  1. ngrok安装就不多说了,安装好之后如下: 2. 配置微信公众号服务器...
  • 今日按照以往日常惯例 打开ngrok和本地服务,进行微信开发。 微信服务端 也配置了域名和token , 结果一访问 微信 直接推送302错误,微信推送信息无法进入到controller中。 思来复去,再三检查配置域名和token地方,...
  • ngrok微信公众号本地开发

    千次阅读 2017-07-18 21:49:37
    ngrok要解决微信本地开发,一个关键的问题是能够把本地的IP地址映射到公网上去,ngrok解决解决了这个问题(ngrok原理可以自行了解)。 访问官网https://ngrok.com/下载最新版的ngrok,解压 开启本地服务器,例如:...
  • 各位肯定都知道,做微信开发,我们的开发服务器需要和微信服务器做交互,SO,我们需要准备一台放置在公网的服务器,能够使得我们的服务器可以正常访问微信服务器,并且微信服务器也需要可以正常访问我们的开发...
  • 使用ngrok本地调试微信接口

    千次阅读 2017-10-25 16:18:51
    微信开发的时候,必须要输入URL,而该URL必须是外网域名,我们本地没法进行调试,这给我们造成很大的不方便,系统在开发阶段容易出现bug,如果服务器上的版本已经在运行了,我们不能在那基础上进行开发调试,所以...
  • 通过ngrok得到了这个一个本地开发的域名 结果发现通过微信访问这个域名的页面的时候 这个域名被微信屏蔽了 ![图片说明](https://img-ask.csdn.net/upload/201905/17/1558089072_62505.jpg) 求解这种情况怎么办...
  • 做过微信开发的朋友都知道,微信接口服务只支持80端口,并不支持其他的端口。这样的话对于我们开发者来说是一个很烦恼的事情,因为如果允许其他端口我的话我们可以进入路由器映射端口出去在本地开发,但是仅限于80...
  • 目录一、Ngrox二、为啥要使用内网穿透三、Ngrox安装与使用 ...微信公众号开发,要实现本地的开发服务器和微信服务器的交互,就必须准备一台放置在公网的服务器 效果:微信接口服务只支持80端口,并不支持其他的端口
  • 由于微信项目需要在外网访问才可以,开发阶段频繁改改代码提交到服务器调试起来太麻烦,故而需要将本地网络进行穿透, 这里推荐ngrok ngrok网址https://ngrok.com/然后下载适合你的电脑版本(最近使用有点慢,而且...
  • mac 搭建 内网微信服务 ngrok

    万次阅读 2015-11-09 11:54:14
    首先使用对是 ngrok的服务,不过这个服务器是放在国外不能访问了,国内的网友发布了一个部署在国内的服务器,地址:http://www.tunnel.mobi 搭建步骤: 1:下载命令行工具 下载地址:...
  • 接着上一篇关于SAE和微信公众号的准备工作,现在可以开始着手开发了。突然发现直接在SAE上部署项目,每天都有云豆开销,对于我这种刚入门的小白,需要大量的测试和调试工作,这不还没开始呢就亏了一个亿,不划算啊。...
  • 微信开发,内网穿透,Ngrok,netapp 概述: 看到一篇博文介绍微信开发的,因为正在做这个东西,就认真看了一下,其中博文的第一章介绍了如何搭建自己的微信测试环境,为了解决微信开发中的调试问题,博主介绍了...
  • Ngrok是一个免费的软件Ngrok,使用Ngrok后,我们就可以实现内网穿透,也就是说我们可以将内网的服务器映射到外网给别人访问,这对于我们在本地开发环境中调试微信代码是以及给用户演示一些东西非常快速和有帮助的,因为...
  • URL填写需要一个域名,所以选择用内网穿透,我这里使用的就是ngrok,直接去官网下就可以了。我这里主要遇到的问题就是,配置ngrok的时候,设置了校验的密码。 http验证用户名: http验证密码:千万千万不要配,你配...
1 2 3 4 5 ... 20
收藏数 1,613
精华内容 645
关键字:

微信开发ngrok