本地调试微信之内网穿透

最近一直在做微信服务号的相关开发,其中一个特别麻烦的问题就是,如何在本地调试,将微信服务器的信息转发到自己的开发机上,下面为大家介绍几种我尝试过的方法

微信公众号(服务号)对服务器的要求

  • 域名(线上环境必须备案)
  • 支持http和https两种解析,对应的只支持80和443端口

微信沙盒环境

正常开发测试我们肯定不能使用线上的app_id,微信为我们提供了沙盒环境,如果多人同时使用,可以各自申请各自的测试账号,绑定到自己的域名上就可以了。

ngrok

刚开始开发的时候,第一个想到的就是到网上搜“微信内网穿透”,然后发现了ngrok,执行下面命令后,会返回一个随机的域名,然后这个域名的流量会转发到你当前机器上,因为开发环境需要通过Host头对应到不同的目录,所以使用-host-header直接重新Host头

./ngrok http -host-header=xxx.domain.com xxx.domain.com:80

然而,忽然有一天不知道为什么,怎么都连不上了。。。

这时,我发现ngrok竟然是个开源软件,到github下载下来后发现,官网提供的是2.0版本的服务,而开源的是1.X版本(没有重新Host功能),所以放弃了。

ssh

因为我有一台外网的阿里云服务器,想着看看有没有什么办法能利用起来,无意在网上发现了一条神奇的命令

ssh root@domain.com -R 10000:xxx.domain.com:80

对应的nginx配置

server { listen 80; server_name xxx.domain.com; location / { proxy_pass http://127.0.0.1:10000; }}

执行后,会登陆远程的服务器,然后通过ssh服务将流量转发到本地的xxx.domain.com的80端口,太神奇了,之后也一直使用这条命令。

frp

最近开发人员变多了,不是所有人都有外网服务器,然后当有两个人同时需要开发测试的时候就有点尴尬了,本着找不到解决方法不睡觉的精神,我发现了一款国人写的类似ngrok的软件:frp

配置稍微麻烦了一点点,但是,这下可以同时支持多个人开发啦。

实现步骤如下:

配置域名泛解析

将外网域名配置泛解析,*.domain.com都指到阿里云服务器的IP

配置nginx(注意反向代理的端口我使用了30000)

server { listen 80; server_name *.domain.com; location / { proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Real-IP $remote_addr; proxy_set_header Host $host; proxy_pass http://127.0.0.1:30000; }}

外网服务器frps配置

#frps.ini[common]#服务端口bind_port = 7000#虚拟端口vhost_http_port = 30000#dashboard端口和账号密码,可以直接加端口号方法,有一些统计数据dashboard_port = 7500dashboard_user = admindashboard_pwd = admin#为了防止别人卵用,我们加上tokenprivilege_token = Fiwlasdj&^$fadf#心跳超时heartbeat_timeout = 90#最大连接池max_pool_count = 5#认证超时authentication_timeout = 900#子域名,配置后,客户端可以随便指定二级域名使用(方便多人)subdomain_host = domain.com#TCP 多路复用,不用可以删掉tcp_mux = true

启用命令:./frps -c ./frps.ini

客户端frpc配置

#frpc.ini[common]#外网服务器IPserver_addr = x.x.x.x#外网服务端口号server_port = 7000#客户端启用连接池,指定预创建连接的数量pool_count = 1#和服务器的token保持一致privilege_token = Fiwlasdj&^$fadf[web]#协议类型type = http#转发到本地的端口号local_port = 80#子域名,可以通过wx.domain.com访问到本地subdomain = wx#重新host header(按主要就要这个功能)host_header_rewrite = host.domain.com#本地Ip OR domain(这个官网并没有说明,下面我会讲为什么这样设置)local_ip = xxx.localhost.com#TCP 多路复用,不用可以删掉tcp_mux = true

第一次使用没有配置local_ip,然后本地会报错[E] [proxy.go:299] [web] connect to local service [127.0.0.1:80] error: dial tcp 127.0.0.1:80: getsockopt: connection refused。

因为我的环境跑在vagrant里面,正常情况我都是通过绑定host到虚拟机的ip使用的,但是frp默认会访问127.0.0.1,然后看了一下源码对应的位置,如下:

localConn, err := frpNet.ConnectServer(“tcp”, fmt.Sprintf(“%s:%d”, localInfo.LocalIp, localInfo.LocalPort))if err != nil { workConn.Error(“connect to local service [%s:%d] error: %v”, localInfo.LocalIp, localInfo.LocalPort, err) return}

继续往上追踪

if cfg.LocalIp = section[“local_ip”]; cfg.LocalIp == “” { cfg.LocalIp = “127.0.0.1”}

原来可以指定local_ip参数来实现,不过之后的版本是否兼容,我就不清楚了,仰天一笑,哈哈哈哈。

启动命令:./frpc -c ./frpc.ini

郑重声明:本文内容及图片均整理自互联网,不代表本站立场,版权归原作者所有,如有侵权请联系管理员(admin#wlmqw.com)删除。
用户投稿
上一篇 2022年6月21日 12:35
下一篇 2022年6月21日 12:35

相关推荐

  • 原神3.1版本前瞻汇总,散兵的“高达”有点帅,原神动画化确定!

    我已经有过一次旅行。所以,你也要像我一样抵达终点,才能在自己的眼中,留下这个世界的沉淀。大家好,我是boyue,感谢打开这篇原神游戏文。boyue会经常分享一些原神资讯与攻略给大家…

    2022年11月27日
  • cad连续标注快捷键(cad连续标注快捷键)

    本文主要讲的是cad连续标注快捷键,以及和cad连续标注快捷键相关的知识,如果觉得本文对您有所帮助,不要忘了将本文分享给朋友。 cad中连续标注快捷键 CAD尺寸标准快捷命令:DL…

    2022年11月27日
  • 《云顶之弈》s8什么时候上线国服?s8国服上线时间介绍

    云顶之弈的s8版本为怪物来袭版本,现已正式在美测服上线了。很多小伙伴可能还不清楚该版本什么时候在国服上线吧,今天小编给大家带来云顶之弈s8国服上线时间介绍,快来看一下吧。 s8国服…

    2022年11月25日
  • vivox90和x90pro/x90pro+区别差距多大 参数配置对比评测

    vivox90系列的卖点有很多,它是首款搭载天玑9200处理器的手机,拥有蔡司一英寸T主摄和自研的V2芯片。那么vivox90、vivox90pro和vivox90pro+有什么区…

    2022年11月24日
  • 《原神》3.3前瞻直播时间一览 3.3前瞻直播什么时候开?

    原神的3.3版本即将正式上线了,近期官方公布了游戏3.3版本的前瞻直播时间,很多小伙伴可能还不是很了解吧,今天小编给大家带来原神3.3前瞻直播时间一览,快来看一下吧。 3.3前瞻直…

    2022年11月23日
  • vivox90pro配置参数跑分详情 vivox90pro是什么屏幕

    vivox90pro参数配置详情怎么样?vivo手机在昨晚举行了X90系列发布会,有普通款、pro款以及pro+款三个版本,那么vivox90pro具体配置怎么样呢?下面就让小编为…

    2022年11月23日
  • vivox90参数配置详情 vivox90处理器功耗跑分介绍

    vivox90参数配置详情怎么样?vivo手机在昨晚举行了X90系列发布会,有普通款、pro款以及pro+款三个版本,那么vivox90具体配置怎么样呢?下面就让小编为大家介绍一下…

    2022年11月23日
  • 阿里上线游戏社区“哔哔”

    阿里巴巴旗下app汇总 概要菜鸟裹裹是阿里巴巴旗下手机软件,网罗国内大部分快递物流信息,不用进入淘宝即可查快件,建立菜鸟联盟,使 淘宝大学App 阿里巴巴旗下app汇总 概要淘宝大…

    2022年11月23日
  • 宽带测速软件(手机宽带测速软件)

    中国联通用户可登录中国联通网上营业厅,选择宽带宽带服务宽带测速,按页面指导进行测速,测速时建议您直连电脑,如测速结果无法达到签约速率,您可通过中国联通APP,“服务报障在线报障”进…

    2022年11月22日
  • 网上致富项目有哪些7大网上致富项目

    越来越多的人在实体经济中遭遇挫折和困难转向线上经济发展,网络创业作为线上经济的主流渐渐的成为大家喜爱的创业方式。在即将到来的2018年有哪些适合网上创业的赚钱项目呢?下面和小编一起…

    2022年11月22日

联系我们

联系邮箱:admin#wlmqw.com
工作时间:周一至周五,10:30-18:30,节假日休息