运行 Fiddler 作为 HTTP 到 HTTPS 反向代理
Running Fiddler as HTTP to HTTPS reverse proxy
我的机器上有一项服务 运行。这个服务是在 HTTPS 上发布的,在 HTTP 上启动它似乎有点复杂。某个远程机器通过 HTTP 调用我的机器(这不在我的控制之下)。我想对我的服务执行一些非性能关键测试,看起来最简单的方法是使用有点像 HTTP 到 HTTPS 的反向代理。 Fiddler 非常适合 HTTP 到 HTTP 和 HTTPS 到 HTTPS 场景,但我无法让它适用于我的情况。因此我需要:
+----------------+ +--------------------------------+
| Remote machine | -------> | My machine |
| | HTTP | Fiddler -------> My machine |
| | | HTTPS service |
+----------------+ +--------------------------------+
我可以使用 Fiddler 实现吗?
当然,Fiddler 可以将入站请求从 HTTP 转换为 HTTPS。
最简单的方法是在 OnBeforeRequest 中添加一些内容,例如:
if (oSession.HostnameIs("myhost") &&
(oSession.oRequest.pipeClient.LocalPort == 80))
{
oSession.fullUrl = "https://" + oSession.url;
}
当然,这假设 Fiddler 被配置为 运行 在端口 80 上,HTTP 的默认端口。你可以 运行 它在你喜欢的任何端口上(例如,如果端口 80 已经在使用中)但是你需要更改客户端请求的 URL 中的端口,如果你可以这样做,您可能可以将客户端更改为使用 HTTPS URL 开始。
我的机器上有一项服务 运行。这个服务是在 HTTPS 上发布的,在 HTTP 上启动它似乎有点复杂。某个远程机器通过 HTTP 调用我的机器(这不在我的控制之下)。我想对我的服务执行一些非性能关键测试,看起来最简单的方法是使用有点像 HTTP 到 HTTPS 的反向代理。 Fiddler 非常适合 HTTP 到 HTTP 和 HTTPS 到 HTTPS 场景,但我无法让它适用于我的情况。因此我需要:
+----------------+ +--------------------------------+
| Remote machine | -------> | My machine |
| | HTTP | Fiddler -------> My machine |
| | | HTTPS service |
+----------------+ +--------------------------------+
我可以使用 Fiddler 实现吗?
当然,Fiddler 可以将入站请求从 HTTP 转换为 HTTPS。
最简单的方法是在 OnBeforeRequest 中添加一些内容,例如:
if (oSession.HostnameIs("myhost") &&
(oSession.oRequest.pipeClient.LocalPort == 80))
{
oSession.fullUrl = "https://" + oSession.url;
}
当然,这假设 Fiddler 被配置为 运行 在端口 80 上,HTTP 的默认端口。你可以 运行 它在你喜欢的任何端口上(例如,如果端口 80 已经在使用中)但是你需要更改客户端请求的 URL 中的端口,如果你可以这样做,您可能可以将客户端更改为使用 HTTPS URL 开始。