如何设置 Fiddler 以将其宣传为正在测试的真实服务器?

如何设置 Fiddler 以将其宣传为正在测试的真实服务器?

我有一个客户端和 3 个服务器正在运行。假设客户端运行在

http://localhost:8000

其他三台服务器的运行速度为:

http://localhost:8001    ----->server1

http://localhost:8002    ------->server2

http://localhost:8003    --------->server3

这些服务器之间也有通信。我的问题是:

  1. 能否通过公布 Fiddler 的 IP 而不是实际的 server2 将其放置在 server2 的“前面”?如果可以,那么如何操作?

  2. 当 Fiddler 收到客户端的 POST 请求时,我想修改该消息然后将其转发给 server2?如何实现?

  3. 类似地,当响应从服务器2返回时,根据需要对其进行修改,然后再返回给客户端。

如果Fiddler代理服务器无法完成上述操作,请建议我使用其他可以帮助我的代理服务器。

答案1

虽然这不是 Fiddler 的标准用例,但它可以配置为反向代理。详细说明可以在Fiddler 文档,但基本上:

  1. 配置 Fiddler 接受远程连接
  2. 使用注册表项中命名的 DWORD 值设置目标服务器的端口号( ),8002然后重新启动 Fiddler。server2ReverseProxyForPortHKEY_CURRENT_USER\SOFTWARE\Microsoft\Fiddler2
  3. 编写 FiddlerScriptOnBeforeRequest规则来重写Host传入请求的标头:

脚本:

if (oSession.host.toLowerCase() == "fiddlerserver:8888") oSession.host = "server2:8002";

我还将配置 Fiddler,以便它不会通过设置中“连接”选项卡下的“启动时充当系统代理”复选框自动代理机器上的所有请求。

您可以使用额外的 FiddlerScript 规则进一步修改任何 POST 请求。

相关内容