将Fiddler作为HTTP运行到HTTPS反向代理

时间:2015-03-04 09:04:52

标签: ssl https proxy fiddler

我的计算机上运行了一项服务。此服务在HTTPS上发布,在HTTP上启动似乎有点复杂。某个远程机器在HTTP上执行对我的机器的调用(这不在我的控制之下)。我想用我的服务执行一些非性能关键的测试,看起来最简单的方法就是使用HTTP到HTTPS反向代理。 Fiddler适用于HTTP到HTTP和HTTPS到HTTPS场景,但我无法使其适用于我的情况。因此,我需要:

+----------------+          +--------------------------------+
| Remote machine | -------> | My machine                     |
|                |  HTTP    | Fiddler    -------> My machine |
|                |          |            HTTPS    service    |
+----------------+          +--------------------------------+

我可以使用Fiddler实现这一目标吗?

1 个答案:

答案 0 :(得分:3)

当然,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开始。