【问题标题】:Generating a Certificate for Local HTTP/2 Proxy为本地 HTTP/2 代理生成证书
【发布时间】:2015-07-08 00:25:45
【问题描述】:

我试图让 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 都需要有效的证书才能安全代理。”

【问题讨论】:

标签: firefox proxy ssl-certificate http2 nghttp2


【解决方案1】:

Patrick McManus 在Firefox bugzilla a while ago 中几乎完全回答了这个问题 - 原因是 Firefox 中仍然缺少 UI:

你可以为代理案例做一个TOFU例外,但你必须这样做 有点不同。

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

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

  3. 覆盖证书警告和权限。存储异常。你得到的回应将毫无意义,因为你现在正在解决 代理端口,就好像它是一个端点
  4. 重新打开代理并使用它。

【讨论】:

    猜你喜欢
    • 2012-02-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多