Запрос пересылки Apache на другой сервер
Я хочу, чтобы apache перенаправлял запрос на один сервер на другой сервер. Вот полный сценарий:
Есть 3 сервера:
- Машина A - IP: A.A.A.A - Клиентская машина, которая хочет называть API там на машине C.
- Машина B - IP: B.B.B.B - Промежуточная машина
- Машина C - IP: C.C.C.C - машина, на которой размещен API.
URL-адрес API: http://Машина c: 8000/v1/customer/....
Состояние подключения:
- Машина A → Машина B: Telnet на порту 80 - Хорошо
- Машина B → Машина C: Telnet на порту 8000 - Хорошо
- Машина A → Машина C: Telnet на порту 8000 - Плохо
В идеале, из Machine A я хочу вызвать API на машине C, но поскольку у меня нет прямой связи n/w между A и C, я должен выполнить этот маршрут.
Итак, я хотел настроить сервер Apache на машине B, чтобы:
Из машины A выполните вызов API -
http:// Машина B: 80/v1/customer/.... которая затем перенаправляет ее на машину C на порт 8000.
C выполняет запрос и отправляет ответ обратно в A.
Задача может быть простой, но я новичок в этом apache, если кто-то может рассказать мне о решении, это будет отлично для моего завтрашнего срока:)
Спасибо!
Ответы
Ответ 1
После того, как некоторые исследования и поиск в Google сделали это возможным. Вот что я сделал - может быть полезно тем, кто сталкивается с одной и той же проблемой:
В файле httpd.conf машины B добавлено следующее:
ProxyPass/v1/клиент C.C.C.C: 8000/v1/клиент
ProxyPassReverse/v1/customer C.C.C.C: 8000/v1/customer
Таким образом, от клиента (машина A), если вызов выполняется как B.B.B.B/v1/customer, тогда это будет
перенаправляется на C.C.C.C: 8000/v1/customer
Для ProxyPass требуется модуль mod_proxy .