Запрос пересылки 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

.