Генерация сертификата для локального HTTP/2 прокси

Я пытаюсь заставить 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.

Я создал server.pem для localhost, используя

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

Когда я пытаюсь загрузить общий веб-сайт, например http://www.something.com/ через прокси-сервер, Firefox выдает предупреждение "Это соединение ненадежное". Однако, если я скажу ему добавить и сохранить исключение, оно просто снова выдаст предупреждение. Из того, что я могу сказать, он никогда не проходит через интерфейс nghttp2 к Twisted прокси.

Я должен делать что-то другое для сертифицированного защищенного прокси? Я не могу найти много онлайн, кроме nghttp2, заявляющего: "Пожалуйста, обратите внимание, что и Firefox nightly, и Chromium требуют действующего сертификата для безопасного прокси".

1 ответ

Решение

Патрик МакМанус некоторое время назад почти точно ответил на это в багзилле Firefox - и причина этого в том, что в Firefox все еще не хватает пользовательского интерфейса:

Вы можете сделать исключение TOFU для случая прокси, но вы должны сделать это немного по-другому.

  1. Отключите использование прокси в Firefox.

  2. поместите https://PROXYNAME:PROXYPORT/ в адресной строке (используйте то же имя и номер порта, что и в PAC - вы не можете использовать IP-адреса или порты по умолчанию.. вы не можете использовать IP-адреса, потому что они не может быть проверено PKI, и исключения сохраняются для каждого порта.

  3. переопределить предупреждение и сертификат. сохранить исключение Ответ, который вы получите, будет бессмысленным, так как вы теперь обращаетесь к порту прокси, как если бы он был конечной точкой
  4. снова включите прокси и используйте его.
Другие вопросы по тегам