У меня есть сценарий использования, когда пользователям моего SaaS нужны исходящие соединения с моих серверов, чтобы получить пользовательский IP, соответствующий этому пользователю. Я изо всех сил пытаюсь придумать способ сделать это.
В этом примере есть 3 пользователя, 1 сервер и 3 пользовательских IP, обозначенных как 0.0.0.0 просто как пример. Исходящие запросы каждого клиента должны исходить от его IP-адреса, но обработка выполняется на одном сервере:
User 1 requests --> server 1 --> outbound data to different destination in new TCP request coming from 0.0.0.1
User 2 requests --> server 1 --> outbound data to different destination in new TCP request coming from 0.0.0.2
User 3 requests --> server 1 --> outbound data to different destination in new TCP request coming from 0.0.0.3
Моя теоретическая идея о том, как управлять этим, состоит в том, чтобы сервер для каждого клиента был настроен в качестве прямого прокси-сервера, такие как HAproxy или Squid. Затем, когда в мое приложение Nodejs приходят запросы, он выбирает прокси-сервер, соответствующий этому пользователю, и через него передает запрос через прокси.
Это звучит правильно, или есть гораздо лучший способ сделать это, что я пропускаю?
РЕДАКТИРОВАТЬ: Этот вопрос интересует только прямые прокси. Обратный прокси-сервер не входит в сферу этого вопроса.