Traefik, tu proxy inverso

Traefik, tu proxy inverso
Photo by Gustavo Sánchez / Unsplash

El primer servicio que debéis levantar en tu VPS es un Proxy Inverso. Si recuerdas la metáfora que utilicé para explicarte los dominios, donde tenías una empresa llamada "Multiservicios Pepito", utilizaba un subdominio especifico para llegar hasta un servicio concreto

por ejemplo para encontrar a un fontanero utilizarías el subdominio: "fontaneria.multiserviciospepito.es" o para encontrar un electricista: "electricidad.multiserviciospepito.es".

Pues bien, el proxy inverso es el encargado de conducir las visitas desde el subdominio "fontanería" hasta la planta en la que está el servicio de fontanería, es decir es el encargado de conectar un (o varios) subdominio a un servicio concreto. También hay otras funciones que traefik se encargará de hacer por ti, como instalar y mantener los certificados SSL—— para servir tus servicios de forma segura y privada, si quieres saber más sobre los certificados SSL--— pásate por esta web.

ℹ️
Local: Cuando hable de local estaré haciendo referencia a nuestra máquina local, en la que estamos y donde tenemos nuestro teclado y pantalla (nuestro portátil, sobremesa, móvil...)

Remoto: Será el servidor remoto al que queremos conectar, el VPS que está físicamente en Alemania o en la Conchinchina.

Instalando Traefik

Para instalar traefik necesitamos descargar estos archivo en nuestro ordenador / en local) y los vamos a cargar/subir a nuestro VPS de la siguiente manera:

  • Abrimos un terminal en local y arrastramos la carpeta que hemos descargado al terminal y aparecerá el directorio donde está la carpeta dentro de tu ordenador. Copiamos el directorio que aparecerá del siguiente tipo: "/Users/kachirulo/Desktop/traefik" y lo pegas en cualquier nota que o archivo de word que tengas a mano.
  • De vuelta en el terminal ingresa la siguiente orden, pero no le des a ENTER porque vamos a tener que modificar algunos parámetros de ésta.
scp -r /Users/kachirulo/Desktop/traefik minombre@192.168.1.1:/self-hosted/ 

Cambiamos "/Users/kachirulo/Desktop/traefik" por la ruta que copiamos en el paso anterior y cambiamos "minombre@192.168.1.1" por los mismos datos que utilizas al acceder por SSH a tu VPS, pulsamos ENTER y nos pedirá la contraseña para acceder al VPS como al ejecutar la orden de SSH. Se subirán los archivos a tu servidor, por lo que ya puedes eliminarlos de tu ordenador local.

  • Ya podemos acceder mediante ssh a tu VPS como siempre lo haces:
ssh minombre@192.168.1.1
  • Y vamos a asegurarnos de que se han subido los archivos, para eso ejecutamos la siguientes ordenes en el terminal una tras otra:
cd /self-hosted/traefik
ls

Si te aparecen listados los archivos (y no te ha dado ningún error) significa que todo está funcionando como toca, vamos al siguiente paso

  • Vamos a instalar software necesario y configurar traefik, abrimos el terminal y ejecutamos las siguientes ordenes una tras otra:
sudo apt install apache2-utils
cd /self-hosted/traefik
mv env.txt .env
nano .env

Ahora se nos abrirá un editor de texto (nano) donde veremos el siguinete texto: "FQDN=traefik.tudominio.es" donde tenemos que sustituir "tudominio.es" por el dominio que tienes enlazado a tu servidor VPS y una vez sustituido para salir pulsa en tu teclado: "ctrl+x" y guardamos cambios pulsando "S" y ENTER.

  • Una vez hecho lo anterior, en el terminal ejecutas las siguientes ordenes una tras otra, pero sustituyendo "usuario" y "contraseña" de la segunda orden por el usuario y contraseña que desees tener para iniciar sesión en la zona de administración web de traefik.
chmod 600 ./config/acme.json
htpasswd -nb usuario contraseña >> config/users.txt
docker network create proxy
docker-compose up -d
  • Si todo ha ido bien, ya tienes instalado traefik! 👏👏
    si deseas conocer que es lo que va haciendo traefik puedes consultar los logs ejecutando en el terminal:
docker-compose logs -f

Puedes accedes desde tu navegador a traefik.tudominio.es sustituyendo "tudominio.es" por el dominio que tienes enlazado a tu servidor VPS y tras pedirte el usuario y contraseña que has indicado en el paso anterior podrás ver el panel web de Traefik, enhorabuena! ya puedes empezar a instalar los servicios que necesites!