1. 背景
前端测试的需求,觉得目前使用charles代理进行抓包不能满足使用
问题:
① https协议需要安装证书比较麻烦
② 请求和返回数据中有加密数据,需要手动复制出来处理
③ 配置mock 不够灵活
解决方案:
使用Openresty 做反向代理,在原服务外面套一个网关,进行日志记录,和进行数据mock逻辑的处理。这样对于手机端无感知的。
将原服务端的ip改为我的Openresty网关,两种方式,
一是修改手机的hosts文件,二是自建dns服务器,为了方便端上使用,采用自建dns服务器的方式。
2. 使用
简单对比开源的dns工具,Bind9,Dnsmasq,PowerDNS, CoreDNS等,选择了比较新的CoreDNS。它的特点是比较灵活,且方便部署和使用。官网地址。
2.1 安装和配置
① 编译
克隆代码
$ git clone https://github.com/coredns/coredns
$ cd coredns
编译二进制程序
$ make
# 如果本地没有go环境,可以使用docker 的go镜像进行编译
$ docker run --rm -i -t -v $PWD:/v -w /v golang:1.16 make
② 使用
运行编译好的程序即可开启服务
$ ./coredns
③ 修改配置文件
在同目录创建C

本文介绍了一种使用CoreDNS和Openresty优化前端测试的方法,解决了charles代理在https证书安装及数据处理上的不便。通过自建DNS服务器实现灵活的流量转发,配合Openresty作为反向代理提升mock数据处理能力。
最低0.47元/天 解锁文章
2198

被折叠的 条评论
为什么被折叠?



