微信公众号开发80端口映射之搭建ngrok服务器

说明

了解本文之前,最好先看前篇:<<微信公众号开发80端口映射解决方案>>。最近公司要搞微信公众号开发,需要解决80端口映射的问题,为了稳定可靠,只好自己搭建ngrok服务端。ngrok 是一个使用go语言编写的反向代理软件,通过在公共的端点和本地运行的 Web 服务器之间建立一个安全的通道,实现内网穿透。ngrok 可捕获和分析所有通道上的流量,便于后期分析和重放。

环境和条件

服务器Centos6.8_x64+windows10_x64

一台有公网ip的服务器

域名解析到服务器。此处拿域名ngrok.XXX.com举例。

关于域名解析,如果你的域名是为此专用的,可以开启泛解析到此服务器上面。如果你的主域名已经在用,你仅仅需要一个二级域名解析到此服务器,并且开启二级域名的泛解析。我选择是第二种,如下图。当然你不做泛解析也可以,自己在本的hosts文件加添加记录也可以。

安装步骤

一.安装依赖包

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++ git

二.安装go语言环境

可以选择yum安装,我选择yum安装

yum install -y golang

也可以手动安装,下载地址http://www.golangtc.com/download

下载安装包之后,直接解压,配置环境变量即可。

三.编译ngrok

3.1下载ngrok源码并设置变量

cd /usr/local/

git clone https://github.com/inconshreveable/ngrok.git

export GOPATH=/usr/local/ngrok/

export NGROK_DOMAIN="ngrok.XXX.com"

cd /usr/local/ngrok

3.2生成自签名证书,ngrok为ssl加密连接。

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
拷贝证书文件到指定位置

cp rootCA.pem assets/client/tls/ngrokroot.crt

cp server.crt assets/server/tls/snakeoil.crt

cp server.key assets/server/tls/snakeoil.key

服务器在国内需要修改,在国外不用修改

vim /usr/local/ngrok/src/ngrok/log/logger.go

log "github.com/keepeye/log4go"

3.3 编译服务端和linux客户端,GOOS和GOARCH可以参照go env

cd /usr/local/ngrok/

GOOS=linux GOARCH=amd64

make clean

make release-server release-client

3.4 交叉编译客户端

Windows客户端

cd /usr/local/ngrok/

GOOS=windows GOARCH=amd64

make release-client

MAC客户端

cd /usr/local/ngrok/

GOOS=darwin GOARCH=amd64

make release-client

客户端配置文件

server_addr: "ngrok.XXX.com:4443"

trust_host_root_certs: false

四.启动服务

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

后台运行

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

开启客户端

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

启动成功如下效果

时间: 2024-10-25 09:29:05

微信公众号开发80端口映射之搭建ngrok服务器的相关文章

微信公众号开发80端口映射解决方案

说明 最近公司要搞微信公众号开发,需要解决80端口映射的问题,看了网上好多老司机的方法,最终选择ngrok比较符合公司的情况.微信公众平台开发,可参考:https://mp.weixin.qq.com/wiki .微信公众号接口只支持80接口. 测试环境: windows10_x64企业版+ngrok2.2.4 (windows64位) 安装步骤 一.下载ngrok,网址:https://ngrok.com/download ,然后选择自己所需的版本,我选择windows版本. 二.进入http

Java微信公众号开发-外网映射工具配置

一.开发环境准备 1.一个微信公众号 2.外网映射工具(开发调试)如花生壳.ngrok工具 注:与微信对接的URL要具备以下条件a:在公网上能够访问 b:端口只支持80端口 这里使用ngrok.cc: ngrok.cc它的服务基于ngrok实现,防止ngrok官网被墙不能访问,把服务器架设在了香港,不仅大大加快了大家的访问速度,还不怕被墙了,而且完全免费.官网地址::http://ngrok.cc/ 搭建步骤: 1.下载客户端 下载链接:http://www.ngrok.cc/index.php

微信公众号开发技术基础(二):外网映射工具ngrok的简介和使用

本文结构:(一)用法(二)示例(三)qydev ngrok的下载链接及相关网站 微信公众号开发的时候,微信服务器是需要访问我们的一个公网服务器地址的,但我们又是在本地调试自己的程序的,那怎样让微信服务器能访问到我们本地的服务器呢?那就需要用外网映射工具,将本地IP映射成公网IP,这样就能在公网上访问本地服务了,这里使用ngrok.ngrok原版程序的服务器是在国外的,访问速度极慢或者干脆访问不了,所以这里提供一个服务器搭建在国内的基于ngrok的一个软件:qydev,百度网盘下载链接见文章结尾.

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

近期一个项目须要用到微信公众号的网页授权登录,在研究这个公众号的时候遇到各种困难,现将自己的一些心得总结一下. 我想进行微信公众号开发遇到的第一个困难就是微信公众号必须输入一个外网能够訪问的域名,在网上我看到的都是使用ngrok或者花生壳的.但事实上不是必需这么麻烦.那么怎样做呢? 1.下载QQ浏览器 我想程序猿用的浏览器一般都是chrome,IE和火狐等,基本看不上QQ浏览器,但假设要开发微信公众号,我是强烈推荐下载QQ浏览器,由于都是腾讯的产品. 2.下载微信调试工具 i)在QQ浏览器中打开

微信公众号开发系列教程一(调试环境部署)

原文:微信公众号开发系列教程一(调试环境部署) 目录 C#微信公众号开发系列教程一(调试环境部署) C#微信公众号开发系列教程一(调试环境部署续:vs远程调试) C#微信公众号开发系列教程二(新手接入指南) 微信公众号火了好一阵子了,笔者算是比较早接触微信公众号开发的了,大概做了一年半了,从最开始的到处网上找demo到现在也开发一些公众号.园子里关于微信开发的教程已经数不胜数了,我也准备来凑凑热闹.一是梳理下这段时间开发的经验,二是希望能帮到想做微信开发的小伙伴们,希望大大神们吐槽的时候悠着点,

微信公众号开发

1. 企业号,服务号,订阅号的区别 消息次数限制:每分钟群发200次.每月主动发送消息不超过4条.每天群发一条. 验证关注者身份:通讯录成员可关注.任何微信用户扫码即可关注.任何微信用户扫码即可关注. 消息保密:消息可转发.分享,支持保密消息,防成员转发.消息可转发.分享.消息可转发.分享. 定制应用:可根据需要定制应用,多个应用聚合成一个企业号.不支持,新增服务号需要重新关注.不支持,新增服务号需要重新关注.2. 2. 个人订阅号 功能(编辑模式&&开发模式):群发功能.添加自动回复,消

.NET开发者如何愉快的进行微信公众号开发

此文章同时发表在本人微信公众号“dotNET每日精华文章”,欢迎右边二维码来关注.) 题记:这篇文章只是一个如何提高开发效率的简单指导和记录,不会涉及具体的微信公众号开发内容. 就我理解,微信作为半个移动互联网入口,且已经在代替大量APP的趋势下,进行微信公众号开发是一个开发者必须面对的命运.那么.NET开发者如何高效的进行微信公众号开发呢?从我有限的经验来看,如下两个方面是特别需要解决的. 1,SDK的选择和使用 由于微信公众平台的访问接口庞大繁杂且基于HTTP API的,如果从底层开始写每一

《初识Java微信公众号开发》 学习中遇到的困难

前一段时间无聊的时候,在慕课网上自学了一点点微信公众号开发(受学姐威胁). 慕课网教程的地址:http://www.imooc.com/learn/368 毕竟是免费的课程,不可能讲的那么详细.所以我吧我遇到的问题跟大家分享一下. 这是我照着课程敲的代码(IDE是Eclipse): https://github.com/Zuosy/WeiXin 发到github上面了. 为了这个,我还专门到廖大的网站上学了一遍Git. 廖大的Git教程传送们:https://www.liaoxuefeng.co

微信公众号开发前期准备工作

随着移动互联网越来越普及,众多企业都注册了微信公众号,于是微信公众号的开发也越来越多,为了不被世界所淘汰,特地学习下微信公众号的开发,已备不时之需! 按照惯例,学习一门新技术或者新框架,咱们还是从官方提供的文档开始,于是找到微信公众平台开发者文档(http://mp.weixin.qq.com/wiki/home/index.html) 1.微信公众平台接口测试号申请 按照文档指引,咱们得先申请一个微信公众平台接口测试账号(http://mp.weixin.qq.com/debug/cgi-bi