У меня следующая ситуация: у меня есть сервер (A), настроенный с VPN-подключением к стороннему серверу (B). У меня есть набор других серверов (C, D, E...), которые используют ту же частную сеть, что и мой VPN-подключенный сервер (A).
Сторонний сервер (B) предоставляет RESTful API, доступный через HTTP. Например, с сервера AI может запросить некоторый URL:
$ curl http://<server-B-vpn-ip-address>/path/to/whatever
И я получу ответ JSON с соответствующими данными.
Я хочу иметь возможность доступа к API сервера B с любого сервера (C, D, E...), выполнив вызов сервера A. Например:
$ curl http://<server-A-private-ip-address>/path/to/whatever
Затем сервер A должен переслать этот запрос серверу B, который должен вернуть ответ JSON тому серверу, который изначально его запросил.
Я рассмотрел несколько возможных способов решения этой проблемы с помощью iptables, но безуспешно, но, честно говоря, я не знаю, какой инструмент подойдет для этой работы в данном случае. Есть у кого-нибудь идеи?
решение1
В итоге я решил эту проблему, реализовав обратный прокси-сервер на сервере A, который изменял заголовки запроса перед его пересылкой на сервер B.