生成本地HTTP / 2代理的证书

时间:2015-04-28 23:10:26

标签: firefox proxy ssl-certificate http2 nghttp2

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

代理由作为HTTP / 2前端的nghttp2和作为后端的简单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前端。

我是否应该为安全代理认证做些不同的事情?除了nghttp2陈述之外,我找不到更多的在线信息,"请注意,Firefox nightly和Chromium都需要有效的安全代理证书。"

1 个答案:

答案 0 :(得分:1)

帕特里克·麦克马纳斯在Firefox bugzilla a while ago中几乎回答了这个问题 - 其原因是在Firefox中仍然缺乏用户界面:

  

您可以为代理案例执行TOFU例外,但您必须这样做   有点不同。

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

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

  4.   
  5. 覆盖证书警告和烫发。存储例外。你得到的反应将毫无意义,因为你现在正在解决这个问题   代理端口,好像它是一个端点
  6.   
  7. 重新启用代理并使用它。
  8.