替代主机名的 Fiddler Echo 服务

Fiddler Echo Service for alternative Hostnames

我们有一个名为 xxx 运行 fiddler 的服务器,它允许来自远程机器的传入连接。服务器在 DNS 中的别名是 yyy。

当我们调用 http://xxx:8888/ we get the Fiddler echo service. However, when we call http://yyy:8888/ 时,我们没有得到任何响应,而是一种无限循环。似乎 fiddler 正在将调用视为它应该代理并调用自己的东西。

无论是从远程计算机还是在本地服务器上的浏览器中调用 yyy,我们都会看到此行为。即使没有捕获,无限循环也会记录在 fiddler 中,并且似乎没有办法停止它,除非使用断点或杀死 fiddler。

Fiddler 如何确定请求是作为服务器 (Echo) 向它发出的请求还是要代理的东西?

如果请求通过配置的侦听端口(默认值:8888)到达 Fiddler,您可以通过添加备用主机名来解决此问题,以便 Fiddler 识别。单击规则 > 自定义规则。在静态函数 Main() { 中,添加 Fiddler.CONFIG.sAlternateHostname = "yyy"; 并保存文件。

如果请求通过 Host header 中的不同端口到达 Fiddler,您可以更改请求的主机,以便 Fiddler 将其视为直接请求。单击规则 > 自定义规则并在 OnBeforeRequest 中添加以下内容:

if (oSession.HostnameIs("yyy")) {
    oSession.host = "localhost:8888"
}