2012-04-11 8 views
10

Ich möchte Apache, um Anfrage an einen Server zu einem anderen Server weiterleiten. Dies ist die komplette scnario:Apache Forwarding-Anfrage an einen anderen Server

Es gibt 3-Server:

  1. Maschine A - IP: AAAA - Client-Maschine, die eine API dort auf Maschine C.
  2. Maschine B anrufen will - IP: BBBB - Zwischenmaschine
  3. Maschine C - IP: CCCC - Maschine, die die API bewirtet.

API URL: http: // Maschinen c:/v1/Kunde/....

Connectivity-Status:

  1. Maschine A -> Maschine B: Telnet auf 80 Port - Gute
  2. Maschine B -> Maschine C: Telnet auf Port 8000 - Gute
  3. Maschine A -> Maschine C: Telnet auf Port 8000 - Bad

Im Idealfall möchte ich von Maschine A eine API auf Maschine C aufrufen, aber da ich keine direkte n/w-Konnektivität zwischen A und C habe, muss ich diesen Weg gehen.

Also wollte ich Apache-Server auf Maschine B einzurichten, so dass: von Maschine A, einen API-Aufruf machen - http: // Maschine B: 80/v1/Kunden/.... die dann leitet es an Maschine C an Port 8000 weiter. C bedient die Anfrage und sendet die Antwort zurück an A.

Die Aufgabe könnte einfach sein, aber ich bin neu in diesem Apache, wenn jemand mir bitte die Lösung sagen kann, wird es sei großartig für meine morgige Deadline :)

Danke!

Antwort

10

Nach einigen Recherchen und Googeln konnte es weiter tun. Hier ist, was ich habe - könnte hilfreich sein für diejenigen, die das gleiche Problem konfrontiert sind:

In httpd.conf der Maschine B hinzugefügt, um die folgenden:

Proxypass/v1/Kunden CCCC: 8000/v1/Kunden

Proxypassreverse/v1/Kunden CCCC: 8000/v1/Kunde

so vom Client (Maschine A), wenn der Anruf als BBBB/v1/Kunden gemacht wird, dann wird es zu CCCC weitergeleitet werden: 8000/v1/Kunde

mod_proxy-Modul ist für ProxyPass erforderlich.

+0

Ticken Sie Ihre eigene Antwort! Ich habe genau das gleiche Problem mit CherryPy. –

+0

Dieser Link bietet weitere Informationen zu diesem https://www.digitalcocean.com/community/tutorials/how-to-use-apache-http-server-as-reverse-proxy-using-mod_proxy-extension. –