Caddy como proxy inverso
Antes de comenzar, ¿Qué es un proxy inverso? un proxy inverso es un servidor que se sitúa delante de los servidores web y reenvía las solicitudes del cliente (por ejemplo, el navegador web) a esos servidores web. Hasta ahora yo estaba usando Nginx Proxy Manager pero en la última actualización me daba bastantes errores en los logs. Busqué otro sencillo y que consumiera poco, me decidí por Caddy.
Lo instalé con docker-compose
version: "3.7"
services:
caddy:
image: caddy
restart: unless-stopped
ports:
- "80:80"
- "443:443"
volumes:
- ./Caddyfile:/etc/caddy/Caddyfile:ro
- ./data:/data
- ./config:/config
restart: unless-stopped
container_name: caddy
Creamos el archivo Caddyfile
ejemplo.servidor.es {
reverse_proxy http://192.168.1.17:81
}
ejemplo_protegido.servidor.es {
reverse_proxy http://192.168.1.17:82
}
Creamos el contenedor:
docker-compose up -d
Ejecutamos un comando para crear una contraseña para las webs que quieras con autenticación básica:
docker exec -it caddy caddy hash-password --plaintext "1234"
Esto devuelve un hash, anótalo
Y por último modificamos el archivo Caddyfile introduciendo la autenticación básica en los subdominios en los que necesite:
(basic-auth) {
basicauth / {
user hash_anterior
}
}
ejemplo.servidor.es {
reverse_proxy http://192.168.1.17:81
}
ejemplo_protegido.servidor.es {
import basic-auth
reverse_proxy http://192.168.1.17:82
}
A partir de ahora cuando quieras entrar a ejemplo_protegido.servidor.es deberás poner 'user' y '1234'.
Reiniciamos el contenedor:
docker restart caddy
Visto en Caddy. Crear usuario y contraseña. uGeek Blog, Proxy Inverso con Caddy. uGeek Blog
Salu2