Saltar al contenido

mod_proxy con Ligthttpd

Mucho se habla sobre «arquitectura web», la cual trata de armar y/o optimizar como una web responde ante un cliente o muchos clientes,aplicando dos temas importantes: viabilidad y factibilidad.

Si bien es cierto, actualmente contamos con Cloud ( AWS, Azure, GCP ) que nos ayudan netamente ante esta necesidad ya que podemos escalar horizontalmente y a corde a la necesidad que requiramos.

Pero cuando se habla de Viabilidad, se hace en el sentido de escoger las «herramientas» necesarias para escoger el tipo de arquitectura que tendrá la web (a nivel de software/hardware y seguridad).

Factibilidad, que tan «simple» será para el usuario la viabilidad implementada…


Quizás no sean los terminos correctos mas apropiados, pero creo que son los mas importantes para empezar el post.
Bueno el tema puntual es como Lighttpd puede funcionar como «proxy web» para sevir contenido estatico y redireccionando peteciones a un server web «apache«, el cual explico acontinuación:

Esquema:
Server Externo: CentOS(7.x) + Lighttpd (1.5.x) + mod_proxy + php7 + ip_publica(200.x.y.x) + ip_interna (192.168.1.19)
Server Interno: Apache(2.x) + php7 + ip_interna(192.168.1.20)

La premisa es esta:

«Lo clientes consultarán nuestra Web vía ip_pública la cual mostrará el contenido «dinámico» que será atendido por Lighttpd, mientras que el contenido «estático» atendido por Apache, ubicado en otro server en nuestra red interna. Aquí un alto, en este esquema yo planteo que, las peticiones dinamicas serán atendidas por un server, y las peticiones estaticas por otro, que puede ser un server «externo» y/o funcionar en el mismo server. Para este último caso, hay que tener en cuenta que, Apache debe de escuchar otro puerto distinto al de Lighttpd si están en la misma red lan….»

Configurando Lighttp
1.- Editamos el archivo «proxy.conf» ubicado en:/etc/lighttp/conf.d/proxy y añadimos esto:

$HTTP[«url»] !~ «\.(js|css|gif|jpg|png|ico|txt|swf|psd)$» {
proxy.server = ( «» => (
( «host» => «192.168.1.20»,
«port» => 81 )
)
)
}
# make virtual host for static content.
$HTTP[«host»] == «192.168.1.20» {
var.server_name = «static.example.com»
# server.name = server_name
server.document-root = «/var/www/html»
}

2.- Activamos el modulo de proxy en: /etc/lighttpd/modules.conf

Configurando Apache
En httpd.conf, debemos cambiar:
«Listen» a «Listen 192.168.1.20:80»
DirectoryIndex index.php index.html

 

Iniciamos los servicios en ambos servidores, y revisamos los logs(de lighttp y apache). Nos debe de mostrar el acceso a la web por medio de la ip publica(lighttpd), y a asu vez en el log de apache las redirecciones a los contenidos.
De esta manera separamos contenido estatico/dinamico, quizás no sea la forma más «elegante» de hacerlo pero funciona, para la prox. haré lo mismo pero para aplicaciones Java usando Apache y mod_jk. Hasta la prox.

Publicado enLinux

Los comentarios están cerrados.