Мне нужно интегрировать несколько веб-приложений как внутри, так и вне сайта под общим внутренним URL-адресом. Приложения на локальном уровне находятся в том же центре обработки данных, что и haproxy, но приложения за пределами площадки могут быть достигнуты только через прокси-сервер http, поскольку сервер, на котором работает haproxy, не имеет прямого доступа в Интернет. Поэтому я должен использовать HTTP-прокси-сервер, SOCKS тоже может быть вариантом.
Как я могу сказать haproxy, что бэкэнд может быть достигнут только через прокси? Я бы предпочел не использовать дополнительный компонент, такой как socksify/proxifier/proxychains/tsocks/... потому что это вводит дополнительные накладные расходы.
На этом рисунке показаны компоненты, участвующие в настройке:
Когда я запускаю это на машине с прямым подключением к Интернету, я могу использовать эту конфигурацию, и она работает нормально:
frontend main
bind *:8000
acl is_extweb1 path_beg -i /policies
acl is_extweb2 path_beg -i /produkte
use_backend externalweb1 if is_extweb1
use_backend externalweb2 if is_extweb2
backend externalweb1
server static www.google.com:80 check
backend externalweb2
server static www.gmx.net:80 check
(Очевидно, это не те URL-адреса, с которыми я говорю, это просто пример)
Haproxy может проверять внешние приложения и направлять трафик на них:
В безопасной среде компании, в которой я работаю, я должен использовать прокси, а haproxy не может подключиться к внешним приложениям. Как включить haproxy для использования этих внешних серверов веб-приложений за HTTP-прокси (без проверки подлинности), предоставляя им доступ через общую страницу http/через браузер?