【问题标题】:Cannot perform HTTPS local tunnel fith Fiddler2 - Problems with certificates无法执行 HTTPS 本地隧道 fith Fiddler2 - 证书问题
【发布时间】:2014-10-31 19:28:30
【问题描述】:

我正在尝试在我的机器上创建一个 HTTPS 隧道。我的意图是将所有对https://localhost:8888/<something>(Fiddler 正在侦听的端口)的请求定向到https://myserver.net/<something>。我根据Fiddler doc使用以下脚本:

static function OnBeforeRequest(oSession: Session) {
  // <Fiddler 2 preexisting code>
  // HTTPS redirect ----------------------- 
  if (oSession.HTTPMethodIs("CONNECT") && 
     (oSession.PathAndQuery == "localhost:8888")) 
  {
    oSession.PathAndQuery = "myserver.net:443";
  }
  if (oSession.HostnameIs("localhost")) 
    oSession.hostname = "myserver.net";
  // --------------------------------------
  // <Fiddler 2 preexisting code>
}  

同样在 Fiddler 设置中,我检查了解密检查并安装了证书,如下图所示:

我重新启动 Fiddler,它提示我安装它的假证书,我同意。使用 certmgr 时,我可以在我的 Windows 证书系统存储库中看到证书。这是一个自签名证书。

所以我要做的是打开浏览器并输入:https://localhost:8888/mypage.html,我得到的是一个错误。 Internet Explorer 报告:

错误:地址不匹配。此提供的安全证书 website 是针对不同网站的地址发出的。这个问题 可能表明试图欺骗您或拦截任何数据...

当我得到证书信息时(基本上是被联系的主机提供的证书被拒绝,可以显示相同的证书),我可以看到被拒绝的证书是由 Fiddler 颁发的,主题是 myserver.net

所以证书没问题,因为它正在验证myserver.net,我发现问题在于我的浏览器可能期待一个主题为localhost 的证书。是真的吗?

如何处理这种情况?

假设

我可以理解问题是为我没有要求的网站颁发的证书。所以解决方案是使用证明localhost:8888的证书?

【问题讨论】:

  • 当然myserver.net 正在监听端口 443 并且启用了 HTTPS。如果我尝试导航到它的地址,我可以得到它!

标签: ssl https proxy fiddler


【解决方案1】:

如果证书由受信任的 CA 直接或间接(通过中间证书)签名,则证书有效并且如果主机名与证书匹配。如果不强制执行最后一个条件,则任何拥有来自受信任 CA 的有效证书的人都可以合并任何其他站点。

要使用 fiddler 而不会遇到此问题,您应该将浏览器配置为使用 fiddler 作为 Web 代理,然后使用浏览器中的真实 URL 而不是 fiddler 的 ip:port。

【讨论】:

  • 好的!所以我的问题是......我应该如何使用 Fiddler 进行 HTTPS 隧道通信?
  • 你不是直接作为HTTP服务器访问fiddler,而是在浏览器内部配置为代理,然后访问真实的URLhttps://example.com
  • 请您发表您的评论作为答案的一部分吗?这将回答我的问题,使我能够将您的答案标记为有效:)
  • Sorry Steffen 我在想一件事...我正在尝试创建一个代理,所以这意味着我必须要求一个地址并且我应该从另一台服务器获得响应...实际上Fiddler 也在这里证明了一个例子:docs.telerik.com/fiddler/KnowledgeBase/FiddlerScript/… 我不想输入相同的地址来从该地址获取资源...
  • 我不确定我是否理解您的问题:您不想使用真实服务器的主机名,但希望浏览器接受(由提琴手)颁发给真实服务器的证书?我认为这是不可能的,因为名称不匹配。您可以改为使用 nginx 或其他反向代理来侦听一个名称并提供与该名称匹配的证书,然后将请求转发到另一台主机。
猜你喜欢
  • 1970-01-01
  • 2018-08-11
  • 2023-04-08
  • 2021-03-11
  • 2019-04-12
  • 2018-06-20
  • 2023-03-28
  • 2011-10-18
相关资源
最近更新 更多