前言

当线上环境出现bug,但阅读项目源码却无法发现问题时,你会怎么做呢?

1、代码前后增加日志,发布到线上后,模拟请求查看日志进行定位问题

2、本地debug启动服务,模拟请求debug分析代码

这两种方式各有利弊

第一种至少需要二次发布服务才能解决问题,遇到上线流程复杂的公司,简直就是戴上了痛苦面具

第二种需要准备一套和线上一样的环境,至少业务流程要走一遍,业务流程走一遍就意味着你要模拟线上环境发出多个curl才行

Proxy SwitchyOmega

在早期,有一种方式就是java程序开启调试端口,然后在本地连上该端口,即可达到debug效果,但是,这会直接阻塞住线上所有请求。

那么,如今有了一种变种的方式,就是利用代理工具!

1、安装

在google网上应用店中安装Proxy SwitchyOmega

2、配置代理

2.1 在配置界面上线配置一个本地代理,代理地址为本机的服务地址

image-20220630154243020

2.2 新建情景模式:自动切换模式

image-20220630154358265

2.3 添加自动切换规则

条件类型有三种:

image-20220630154502753

假设线上的地址是ip形式,并且前端的地址为:http://119.3.213.12/front, 后端的地址为:http://119.3.213.12:8080/api

那么配置为:

image-20220630154832859

这表示在访问匹配://119.3.213.12/front的地址时,使用原地址;访问匹配://119.3.213.12:8080/api/的地址时,使用本地调试的代理

3、使用

在线上环境中,选择刚刚配置的代理即可

image-20220630155051867