1

我试图让 Firefox 每晚使用安全的 HTTP/2 代理,但它拒绝接受自签名证书。

该代理由 nghttp2 作为 HTTP/2 前端和一个简单的 Twisted 代理作为后端组成。Twisted 代码来自https://wiki.python.org/moin/Twisted-Examples,可作为 HTTP/1.1 代理自行工作。nghttp2 被调用

nghttpx -s -flocalhost,8443 -b127.0.0.1,8080 server.pem server.pem -L INFO

Firefox 将其用作https://nghttp2.org/documentation/nghttpx-howto.html#http-2-proxy-mode中指定的代理。

我使用为 localhost 创建了 server.pem

openssl req -new -x509 -keyout server.pem -out server.pem -days 365 -nodes

当我尝试通过代理加载像http://www.something.com这样的通用网站时,Firefox 会显示“此连接不受信任”警告。但是,如果我告诉它添加并存储异常,它只会再次显示警告。据我所知,它永远不会通过 nghttp2 前端到达 Twisted 代理。

我应该为安全代理认证做一些不同的事情吗?除了 nghttp2 说明“请注意,Firefox nightly 和 Chromium 都需要有效的安全代理证书”之外,我在网上找不到太多信息。

4

1 回答 1

2

不久前,Patrick McManus 在 Firefox bugzilla中几乎完全回答了这个问题——原因是 Firefox 中仍然缺少 UI:

您可以为代理案例做一个 TOFU 例外,但您必须做一些不同的事情。

  1. 关闭 Firefox 中的代理使用。

  2. https://PROXYNAME:PROXYPORT/放在位置栏中(使用与您在 PAC 中配置的名称和端口号相同的名称和端口号 - 您不能使用 IP 地址或默认端口。您不能使用 IP 地址,因为它们PKI 无法验证,并且每个端口都存储异常。

  3. 覆盖证书警告和烫发。存储异常。您得到的响应将毫无意义,因为您现在正在处理代理端口,就好像它是一个端点一样
  4. 重新打开代理并使用它。
于 2015-04-30T07:27:08.253 回答