systemadmin.es > LAMP y web > Como usar mod_proxy de Apache

Como usar mod_proxy de Apache

Resulta común contratar a proveedores un determinado servicio que nos limitan el acceso a él por IP. Hoy vamos a ver como mostrar cierto contenido de un proveedor a través de un servidor web con apache mediante mod_proxy.

Vamos a suponer que contratamos al proveedor “imagenes.externas.com” que nos genera una imagen dinàmicamente, por ejemplo estadísticas de consumo de ancho de banda, que mostramos en un site interno. El html contendría una imagen con el atributo “src” apuntando al proveedor externo:

<html>
<img src="http://imagenes.externas.com/imagen.png">
</html>

Si decidiéramos publicar el site nos encontraríamos que desde los clientes externos la imagen no se muestra ya que existe una limitación por IP.

Una solución ser usar mod_proxy para traducir una URL concreta al servidor del proveedor.

Ejemplo del uso de mod_proxy de Apache

Ejemplo del uso de mod_proxy de Apache

Para ello deberemos usar en el VirtualHost la siguiente configuración:

        <Location /imagenes>
                ProxyPass http://imagenes.externas.com
        </Location>

Mediante ProxyPass lo que hace es traducir las peticiones que le llegan como /imagenes al servidor. Por ejemplo suponiendo esta petición:

GET /imagenes/stats/acsec/drareg/imagen.montseny.png

mod_proxy realiza la siguiente petición a imagenes.externas.com:

GET /stats/acsec/drareg/imagen.montseny.png

Devolviendo el resultado al cliente que la ha solicitado, en el dibujo remoto.systemadmin.es. Así solo nos quedarà substituir en el html la URL imagenes.externas.com por web.systemadmin.es/imagenes:

<html>
<img src="http://web.systemadmin.es/imagenes">
</html>

Deja un comentario:

XHTML - Tags permitidos:<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>