2012-04-11 14 views
10

Quiero que apache envíe la solicitud a un servidor a otro servidor. Aquí está el scnario completa:Solicitud de reenvío de Apache a otro servidor

Hay 3 servidores:

  1. máquina A - IP: AAAA - máquina del cliente, que quiere llamar a una API que hay en la máquina C.
  2. máquina B - IP: BBBB - Máquina intermedia
  3. Máquina C - IP: CCCC - Máquina que aloja la API.

URL de la API: http: // Máquina c:/v1/cliente/....

de estado de conectividad:

  1. máquina A -> máquina B: Telnet en el puerto 80 - Buena
  2. máquina B -> C máquina: Telnet en el puerto 8000 - Buena
  3. máquina a -> máquina C: Telnet en el puerto 8000 - Bad

Idealmente, desde la máquina A quiero llamar a una API en la máquina C, pero como no tengo conectividad n/w directa entre A y C, tengo que tomar esta ruta.

así que quería configurar el servidor Apache en la máquina B tal que: de la máquina A, realizar una llamada de API - http: // máquina B: 80/v1/cliente/.... que luego lo reenvía a la Máquina C en el puerto 8000. C atiende la solicitud y envía la respuesta a A.

La tarea puede ser simple, pero yo soy nuevo en este apache, si alguien puede decirme la solución, lo hará ser excelente para la fecha límite de mi mañana :)

¡Gracias!

Respuesta

10

Después de un poco de investigación y Google más adelante fue capaz de hacerlo. Esto es lo que hice - podría ser útil a los que se enfrentan al mismo problema:

En el archivo httpd.conf de la máquina B añade lo siguiente: CCCC/v1/cliente

ProxyPass: 8000/v1/cliente

CCCC

ProxyPassReverse/v1/cliente: 8000/v1/cliente

Por lo tanto desde el cliente (máquina a) si la llamada se realiza como BBBB/v1/cliente, entonces será remitido a CCCC: 8000/v1/customer

módulo mod_proxy es requerido para ProxyPass.

+0

¡Marque su propia respuesta! Estoy teniendo exactamente el mismo problema con CherryPy. –

Cuestiones relacionadas