У меня есть прозрачная настройка прокси в Ubuntu 10.04.4 с firehol и tinyproxy, которая отлично работает для http, но я не могу заставить ее работать для https.
Прямое подключение к tinyproxy работает нормально, так как следующие команды выполняются нормально:
env http_proxy=localhost:8888 curl http://www.google.com
env https_proxy=localhost:8888 curl https://www.google.com
Прозрачное проксирование HTTP также отлично работает:
curl http://www.google.com
но при прямом доступе к Google по https команда просто зависает:
curl https://www.google.com
Вот полные файлы конфигурации для firehol и tinyproxy. Обратите внимание, что меня не интересует использование firehol для чего-либо, кроме прозрачного прокси.
firehol.conf:
transparent_proxy "80 443" 8888 proxy
interface any world
client all accept
server all accept
tinyproxy.conf (все значения по умолчанию, кроме прокси-сервера верхнего уровня):
User nobody
Group nogroup
Port 8888
Timeout 600
DefaultErrorFile "/usr/share/tinyproxy/default.html"
StatFile "/usr/share/tinyproxy/stats.html"
Logfile "/var/log/tinyproxy/tinyproxy.log"
LogLevel Info
PidFile "/var/run/tinyproxy/tinyproxy.pid"
MaxClients 100
MinSpareServers 5
MaxSpareServers 20
StartServers 10
MaxRequestsPerChild 0
ViaProxyName "tinyproxy"
ConnectPort 443
ConnectPort 563
upstream corporate.fire.wall:8080
Насколько я могу судить, tinyproxy просто не поддерживает входящие HTTPS-соединения. Это позволит вам получить доступ к сайтам HTTPS с помощью ПОДКЛЮЧИТЬ метод, но для его использования браузер / клиент должен знать, что он обращается к прокси-серверу, и использовать правильные методы подключения.
В ConnectPort
Директивы просто определяют, к каким портам можно подключаться.
Единственный продукт FOSS, поддерживающий прозрачное проксирование HTTPS-соединения, - это Кальмар, и поддержка этого появилась относительно недавно. In также представляет некоторые довольно серьезные проблемы с безопасностью, поскольку прозрачный прокси-сервер HTTPS должен выполнить атаку «человек посередине» и расшифровать соединение, чтобы он знал, к чему подключиться.