I'm trying to get Firefox nightly to use a secure HTTP/2 proxy, but it's refusing to accept a self-signed certificate.
The proxy is composed of nghttp2 as the HTTP/2 front-end and a simple Twisted proxy as the back-end. The Twisted code is from https://wiki.python.org/moin/Twisted-Examples and works on its own as a HTTP/1.1 proxy. nghttp2 is invoked with
nghttpx -s -flocalhost,8443 -b127.0.0.1,8080 server.pem server.pem -L INFO
Firefox is using it as a proxy as specified in https://nghttp2.org/documentation/nghttpx-howto.html#http-2-proxy-mode.
I created server.pem for localhost using
openssl req -new -x509 -keyout server.pem -out server.pem -days 365 -nodes
When I try to load a generic website like http://www.something.com through the proxy, Firefox brings up the "This Connection is Untrusted" warning. However, if I tell it to add and store the exception, it just brings up the warning again. From what I can tell, it's never making it past the nghttp2 front-end to the Twisted proxy.
Am I supposed to be doing something different for secure proxy certificated? I can't find much online other than nghttp2 stating, "Please note that both Firefox nightly and Chromium require valid certificate for secure proxy."