Saltar al contenido principal

Servidor compartido para webs con HTTPS en 2 comandos con NPM Proxy y Docker

· 2 min de lectura
Pablo Pérez-Aradros
CISO SecDevOps @ Santander Group

Es muy probable que tengas un servidor con un proveedor de hosting o cloud y quieras compartir los recursos de este servidor con múltiples usuarios o aplicaciones. Una solución muy común es utilizar un proxy inverso para redirigir las peticiones a los diferentes servicios que se ejecutan en el servidor. En este tutorial vamos a ver la forma fácil, utilizando el NPM (Node Proxy Manager) no confundir con el gestor de paquetes de Node.js, y como no Docker.

Dentro vídeo: https://youtu.be/WCSdh37Z6Wk

Curso Docker - Introducción

Requisitos

  • Servidor VPS con Docker instalado.
  • Entre 15 y 30 minutos de tu tiempo.
  • ...
  • Y nada más.

Instalar docker en el servidor

Para instalar Docker en tu servidor, solo necesitas un comando:

curl -fsSL https://get.docker.com -o get-docker.sh && sh get-docker.sh

Instalar NPM Proxy

Para instalar NPM Proxy, podemos usar su compose oficial. Solo necesitas un archivo compose.yml con el siguiente contenido:

services:
app:
image: 'jc21/nginx-proxy-manager:latest'
restart: unless-stopped
ports:
- '80:80'
- '81:81'
- '443:443'
volumes:
- ./data:/data
- ./letsencrypt:/etc/letsencrypt

Y ejecutar el siguiente comando:

docker-compose up -d

Si quieres repasar lo que es docker o docker compose, te dejo un enlace a mi curso de Docker en el que explico todo lo necesario para empezar a trabajar con Docker desde cero: Curso de Docker

Ahora ya tienes un servidor capaz de ejecutar múltiples aplicaciones y servicios en un mismo servidor, con certificados SSL y HTTPS. Bueno, en realidad aún no, pero lo que queda se hace rápidamente desde la interfaz de NPM Proxy.

El resto del tutorial se ve mejor en el vídeo, aquí dejo simplemente los comandos para que puedas copiar y pegar.

X

Graph View