Opinión Proxy Reverso simple, con Apache 2 bajo LXD, apuntado a un Django o un WordPress

  • Autor del tema Autor del tema Sergio
  • Fecha de inicio Fecha de inicio

Sergio

Novato Web

Registrado
15 Oct 2023
Mensajes
5
VPS con un balanceador que redirige a otros contenedores donde estarán los distintos dominios. En Lugar de Django puede ser un WordPress u otra aplicación. Creo que este tema de VPS es útil para aquellos que ya poseen una o para aquellos que quieren tener o iniciarse en el tema

En este caso un ejemplo de un cliente, VPS de Oscar....
image.png

Introducción​

En la infraestructura que tenemos, tendemos a meter todo en containers LXD.

Para poder mandar tráfico del puerto 80 del server a cada uno de los containers de los alumnos, usamos un Apache con Virtualhost. La elección de Apache sobre Nginx, es tan solo porque es más simple enseñar la sintaxis de Apache. Dejaremos Nginx para más adelante, junto con Docker.

Este Apache conviene que esté también en un container LXD. Podría estar afuera, en el mismo host. Pero no sería transportable ni estaría bien aislado.

Puesto que uno de los propósitos del taller es estimular en los alumnos la creación de sus propios servidores y VPS, y que ellos mismos algún día puedan hacer auto hosting o "MaaS" (metal-as-a-service), es que ofrezco estos apuntes de mano sobre cómo fue configurado.

Durante el desarrollo de las siguientes líneas, se crearán dos containers:

El primero es un "balancer" simple con Apache. Tiene configurado cada dominio de cada alumno en un achivo separado .conf, y adentro definido cada dominio que traiga el alumno en un VirtualHost aparte. Cada Virtualhost apunta mediante Proxy Reverse al container LXD del alumno.

El segundo es un container de ejemplo, que tendrá Django. Este container estará "escondido" en su propia red, y solo recibirá tráfico del "Balancer". Finalmente, el container con Django tiene un dominio registrado en nic.ar, llamado ecoplatonica.com.ar, con DNS gratuitos proporcionados por Cloudflare. Si no tiene un dominio, obtenga un subdominio gratuito en duckdns.org (ejemplo, catoto.duckdns.org) y apuntelo a este server, 37.27.49.225

El primer container cumple funciones de Proxy Reverso.

Pomposamente lo hemos llamado Balancer, aunque para que "balancee", propiamente dicho, entre varios containers con el mismo servicio (ejemplo, 10 djangos), necesitaría activar el módulo lbmethod_byrequests

En nuestro ejemplo, por ahora este [ balancer - proxy reverso], solo nos hará de dispatcher del puerto 80, reenviando un dominio que le configuraremos mediante Virtualhost, hacia un único container con Django.

Luego usted podrá agregar más virtualhosts que apunten hacia otros containers, con todos los servicios que se le antoje. Ejemplos:
  • sitio1.com con Java (ej: un Tomcat)
  • sitio2.com con Node (ej: Express)
  • pepe.sitio3.com con Ruby (ej: Sinatra, Rails)
  • cachita.duckdns.com con PHP (ej: un Wordpress bajo otro Apache, un Laravel bajo un Nginx)
  • etc, etc
Si quiere más detalles sobre este patrón de diseño, consulte la excelente distinción que hace entre Proxy Reverso, Balancer propiamente dicho, e incluso API Gateway que hace el arquitecto de software de ByteByteGo, en este corto video:
To view this content we will need your consent to set third party cookies.
For more detailed information, see our cookies page.

image (1).png

continuará....
 
Última edición:
Muchas gracias por la información que bien explicado!!!!!
 
Volver
Arriba Abajo