Наша корпоративная среда по существу отрезана от Интернета, за исключением прокси-сервера HTTP (прямого), который работает на 192.168.1.2:8080
. Существует брандмауэр с белым списком IP-адресов для доступа к прокси, а сам прокси имеет белый список URL-адресов для каждой группы исходных IP-адресов.
Мы хотим сделать существующий сервис (https://example.com
), который доступен для хостов из белого списка, более доступных для других хостов, не внесенных в белый список, в сети. Конфигурация клиента должна быть простой.
Для достижения этой цели мы хотим настроить обратный прокси на одном из узлов из белого списка, который будет маршрутизировать запросы через 192.168.1.2:8080
. В целом успешный запрос будет выглядеть так:
client
-- GET --v
https://example.company.com
-- CONNECT via 192.168.1.2:8080 --v
https://example.com
У меня есть небольшой скрипт Python, который делает это, но его реализация будет достаточно хлопотной, поэтому стоит попросить совета здесь. Мы бы использовали HAProxy или что-то еще перед ним, чтобы завершить TLS, настроить ACL, выполнить балансировку нагрузки и т.д., так есть ли способ использовать это для прямого подключения?
Пока мы проверили:
proxy
, http_proxy
, или forward
это связано с этим вариантом использования - и единственные экземпляры http_proxy
в кодовой базе значения не имеют.proxychains
, что не сработало, потому что HAProxy все еще пытался выполнить разрешение DNS, которое недоступно через 192.168.1.2:8080
squid
, nginx
, tinyproxy
похоже, что у всех отсутствует конфигурация для этого варианта использования. По общему признанию, было сложно отфильтровать мусор из результатов поиска, например, "обратный прокси перед прямым прокси" и "обратный прокси, указывающий на прямой прокси"