基于 Node.js 开发,方便查阅客户端(移动端,Web 端 SSR 和小程序)请求的前置服务,前端或移动端通过链接前置服务的代理地址来转发到开发或测试服务,那我们可以不需要复杂的配置抓包工具,直接打开前置服务的监控服务即可实现查看请求情况。解决了移动端,Web 端 SSR 和小程序无法直接通过浏览器查看请求数据的痛点。
传统开发是客户端直连开发机来实现通讯中间没有监控 http 或 https 的工具,所以每个人都需要配置一个抓包工具,这无疑是复杂和费时的。所以我们完全可以在开发网或测试网只部署一个前置服务,并通过 url 来区分监控请求来实现只部署一次却能服务整个团队的抓包需求功能。
优点:
缺点:
.bsrc.js
文件到工作目录中首先需要在你的工作目录中增加.bsrc.js
文件,目录结构如下:
/your-work-dir
└─.bsrc.js
.bsrc.js
文件内容例子如下:
module.exports = {
proxyTable:{
// 这里代理的优先级,前者高于后者,如果想全访问,直接使用 /即可
/**
* http://proxyhost/api1/1
* 代理将转发到=>
* http://www.aaa.com/api1/1
*/
'/api1': {
target: 'http://www.aaa.com' //当访问代理的 api1 开头的 url 要代理的开发服务
},
/**
* http://proxyhost/api2/1
* 此配置代理将转发到=>
* http://www.aaa.com/api3/api2/1
*/
'/api2': {
target: 'https://www.bbb.com/api3' //当访问代理的 api2 开头的 url 要代理的开发服务
},
'/ws1': {
target: 'ws://www.ccc.com'//当访问 /ws/api 开头的 url 要代理的开发服务
},
'/ws2': {
target: 'ws://www.ddd.com'//当访问 /ws 开头的 url 要代理的开发服务
}
},
httpPort:8000, // http 代理服务的端口
httpsPort:8443, // https 代理服务的端口
monitorPort:8555,// 监控服务端口服务的端口
}
.bsrc.js
的默认配置如下:
const fs =require('fs');
const path =require('path');
module.exports = {
// 这是自带的证书,一般你不续要配置
ssl: {
key: fs.readFileSync(path.join(__dirname,'keys','key.pem'), 'utf8'),
cert: fs.readFileSync(path.join(__dirname,'keys','cert.pem'), 'utf8')
},
// 默认代理墙是没有任何配置的,需要手动配置
proxyTable:{
},
httpPort:8000, // http 代理服务的端口
httpsPort:8443, // https 代理服务的端口
monitorPort:8555, // 监控服务端口服务的端口
}
# 这里也可以使用 yarn
npm install before-server -g
# dir: /your-work-dir
before-server
通过代理请求实现请求监控的工具,解决了移动端、Web 端 SSR 、小程序很多请求无法直接通过浏览器查看请求数据的痛点。
Power By @Web Components