Tutoriales y Manuales
Entradas Mensuales
-
▼
2024
(Total:
1019
)
- ► septiembre (Total: 50 )
-
▼
julio
(Total:
104
)
- Los actores de doblaje de videojuegos, en huelga c...
- Intel confirma daños permanentes en los Core Gen 1...
- Un fallo en Google Password Manager dejó sin contr...
- Múltiples malware y ransomware aprovechan vulnerab...
- Estafas del CEO mediate IA
- Nicolás Maduro declara a Elon Musk «archienemigo» ...
- Las ganancias de Tesla caen un 45 %, mientras Elon...
- Suiza exigirá que todo el software gubernamental s...
- Secure Boot está roto en más de 200 modelos de 5 g...
- Cómo evitar que X (Twitter) use tus publicaciones ...
- Elon Musk se enfrenta a nuevas sanciones por entre...
- Error en WhatsApp para Windows permite ejecución d...
- Compañía de seguridad de EEUU contrató un ingenier...
- Cómo funciona DDoSia: la herramienta DDoS utilizad...
- Grindr bloquea algunas funciones en la Villa Olímp...
- Apple Maps lanza, por fin, una versión web para co...
- Modus operandi de un ataque del ransomware Akira
- Suplantación de archivos en WhatsApp para Android
- CrowdStrike ofrece un vale de 10€ en UberEats para...
- AMD retrasa ligeramente el lanzamiento de los Ryze...
- El CNI de España coordina una respuesta al ataque ...
- Photoshop permite crear imágenes con IA desde sus ...
- Meta presenta Llama 3.1, su IA de código abierto q...
- Grupo pro ruso NoName057(16) realiza ataques DDoS ...
- Windows 11 funciona en un iPhone 15 Pro, aunque mu...
- Compañía aérea se salva del desastre de CrowdStrik...
- Facebook quiere gastarse 87.000 millones en ‘Ray-B...
- Google eliminará acortador de URLs goo.gl en 2025
- Microsoft culpa a la UE de lo sucedido con CrowdSt...
- Process Hollowing: una técnica de evasión utilizad...
- 0-Day en Telegram permitía enviar archivos dañinos...
- Herramienta de Microsoft para recuperar equipos da...
- China tiene un equipo de ciberseguridad que se enc...
- La nueva normativa pide usar botones físicos en lo...
- La Guardia Civil detiene a tres prorrusos en Españ...
- Caída global por culpa de CrowdStrike: un apagón c...
- OpenAI presenta GPT-4o mini, una IA más potente y ...
- Filtración de datos de empresa espía mSpy, revela ...
- Armas biológicas diseñadas por IA
- Hack WPA / WPA2 fácilmente sin fuerza bruta con Fl...
- Configurar Telegraf, InfluxDBv2 y Grafana para mon...
- Caddy: un servidor web con funciones de proxy inverso
- Windows resolverá el problema de las actualizacion...
- Apple y otras empresas usaron videos de YouTube pa...
- Vulnerabilidad crítica en GeoServer GeoTools explo...
- El FBI logra acceso al móvil del atacante de Donal...
- Las guerras de Unix: Un capítulo crucial en la his...
- Europa dice que X (Twitter) engaña a los usuarios ...
- Detenidos tres menores por difundir por Whatsapp f...
- Google quiere comprar la startup de ciberseguridad...
- Explotación de vulnerabilidades tan solo 22 minuto...
- 0-Day en Windows MSHTML utilizado en ataques de ma...
- HardBit ransomware version 4.0
- Fábrica de Xiaomi abierta 24/7 en la que todos los...
- Alemania dejará gradualmente sin uso de las redes ...
- Detenido de nuevo Alcasec por robar los datos de 3...
- Vulnerabilidad crítica en Exim expone a millones d...
- Cómo la desinformación rusa terminó en el top de l...
- Excel incluye un editor para programar en Python
- Parche de Microsoft para grave vulnerabilidad acce...
- Vulnerabilidad crítica en GitLab Community y Enter...
- Cómo roban cuentas de YouTube con infostealers
- Función de WhatsApp transcribe las notas de voz pa...
- The Harvester: herramienta OSINT para analizar los...
- AMD compra la finlandesa Silo AI para impulsar su ...
- Windows 10 recibe Copilot como parte de una actual...
- Samsung Galaxy Ring, un anillo cuantificador con a...
- Microsoft abandona la junta directiva de OpenAI en...
- Elon Musk es acusado de hacer trampa con el sistem...
- Vulnerabilidad crítica en libreria Ghostscript en ...
- Youtuber muestra cómo conseguir juegos gratis en S...
- La computadora cuántica de Google es humillada por...
- Fossify es una suite Open Source, gratis y sin anu...
- Nothing desvela el CMF Phone 1, un sorprendente sm...
- Google Maps introducirá anuncios en la navegación
- Todo lo que necesitas saber sobre puertos USB y ve...
- El Dorado ransomware: objetivo máquinas virtuales ...
- Batocera es una retroconsola para PC y Android
- Recopilación de 10 mil millones de contraseñas
- Limitar el ancho de banda en Linux
- Rack SSD
- Servidor Blade vs. Servidor de Rack vs. Servidor d...
- ChatGPT para Mac expuso las conversaciones de mill...
- Roban 33 millones de números de teléfono del famos...
- La UE podría eliminar la exención aduanera a los p...
- Google Drive ahora es Booteable
- Organismo rector de la Fórmula 1 revela una filtra...
- Google Chrome bloqueará los certificados TLS de En...
- Apple veta la emulación de PCs «retro» en iOS
- 54 detenidos por estafar más de 2 millones de euro...
- YouTube permite solicitar el borrado de vídeos gen...
- Primer cable Thunderbolt 5 con una velocidad 120 G...
- Los adultos Españoles que quieran entrar en webs p...
- Japón bate el récord de banda ancha superando los ...
- Wise alerta de un hackeo masivo con robo de datos ...
- Detenido autor puntos de acceso Wifi falsos en aer...
- regreSSHion: 14 millones de servidores OpenSSH vul...
- NFC - ¿Qué es, cómo funciona y qué riesgos de segu...
- WhatsApp publica su planificador de eventos para g...
- Meta deja de publicar parches de seguridad para el...
-
►
2023
(Total:
710
)
- ► septiembre (Total: 65 )
-
►
2022
(Total:
967
)
- ► septiembre (Total: 72 )
-
►
2021
(Total:
730
)
- ► septiembre (Total: 56 )
-
►
2020
(Total:
212
)
- ► septiembre (Total: 21 )
-
►
2019
(Total:
102
)
- ► septiembre (Total: 14 )
-
►
2017
(Total:
231
)
- ► septiembre (Total: 16 )
-
►
2016
(Total:
266
)
- ► septiembre (Total: 38 )
-
►
2015
(Total:
445
)
- ► septiembre (Total: 47 )
-
►
2014
(Total:
185
)
- ► septiembre (Total: 18 )
-
►
2013
(Total:
100
)
- ► septiembre (Total: 3 )
-
►
2011
(Total:
7
)
- ► septiembre (Total: 1 )
Blogroll
Etiquetas
Entradas populares
-
Después de ver qué es una vCPU y la diferencia entre núcleos (cores) e hilos en los procesadores, pasamos a explicar toda la nomenclatura d...
-
En el panorama en constante evolución de la seguridad de redes, OpnSense se ha convertido en una formidable solución de firewall. Nacido de...
-
Pese a que Gemini ofrece multitudes de opciones, recientemente, se ha dado a conocer una situación fuera de lo común. Hace unos días, un es...
Caddy: un servidor web con funciones de proxy inverso
Caddy es una alternativa relativamente nueva a Apache y Nginx aunque fue lanzado inicialmente en 2015. Es un servidor web de código abierto construido con lenguaje Go y utiliza HTTPS por defecto.
Como cualquier otro servidor web, Caddy se puede utilizar como un servidor web que sirve tanto sitios web estáticos como dinámicos. Caddy ofrece un servidor de archivos estáticos versátil y eficiente. También se puede utilizar como un Proxy Inverso robusto y escalable.
Proxy inverso con Caddy para contenedores Docker
¿Qué es Caddy?
Caddy 2 es un potente servidor web de código abierto desarrollado haciendo uso del lenguaje de programación Go.
Simplifica la infraestructura a montar y se encarga de forma automática de las renovaciones de certificados SSL para los sitios web. Aunque comunmente se usa como servidor web o proxy, también se podría utilizar para otras funciones:
- Proxy sidecar
- Balanceador de carga
- Puerta de enlace API
- Control de ingreso
Es una aplicación con un enfoque más clásico que Traefik y sí tiene ficheros de configuración. Pero al mismo tiempo está pensado para ser muy simple, y gestionar automáticamente y por defecto cosas que en otro servidores web habría que hacer de forma explícita.
¿Cómo funciona Caddy?
Un proxy inverso es un intermediario entre los dispositivos cliente y los servidores web, administrando las peticiones y respuestas con el fin de mejorar la seguridad, el rendimiento y la flexibilidad.
Caddy permite:
-
Configuración SSL/TLS automática: Caddy se integra sin problemas con Let's Encrypt de tal forma que es capaz de obtener y renovar de forma automática los certificados SSL/TLS para HTTPS, asegurando siempre una comunicación segura. También incluye y configura automáticamente unos certificados autofirmados para entornos locales o de desarrollo.
-
Configuración mediante un archivo llamado Caddyfile, haciéndolo muy simple.
- Soporte para los nuevos protocolos HTTP/2 y QUIC
- Monitorización y métricas en tiempo real, compatibles con sistemas de monitorización como Prometheus.
- Middleware y extensiones: Caddy permite, haciendo uso de plugins, añadir funcionalidades interesantes a la aplicación
Paquetes necesarios
Existen al menos tres métodos para instalar Caddy. Podemos instalarlo simplemente descargando el binario ejecutable, instalarlo compilando el código fuente, o instalarlo desde el repositorio. En este artículo, instalaremos Caddy utilizando el repositorio. Dado que la instalación del servidor web Caddy requiere algunos paquetes, instalaremos primero las dependencias.
apt install gnupg curl apt-transport-https debian-keyring debian-archive-keyring -y
Añadir repositorio
Antes de proceder con la instalación, necesitamos añadir la clave GPG usando el siguiente comando:
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg
Y añadimos el repositorio:
wget -qO - https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt | sudo tee /etc/apt/sources.list.d/caddy.list
Actualizamos el repositorio:
apt update
Instalación de Caddy Web Server
Añadimos el repositorio en el paso anterior y actualizamos el índice de paquetes. Por último, podemos ejecutar este comando a continuación para instalar Caddy.
apt install caddy
Tras la instalación, Caddy estará en funcionamiento - ya está configurado para ejecutarse al reiniciar el servidor. Podemos comprobarlo ejecutando el siguiente comando:
systemctl status caddy
También
puedes verificar que Caddy está funcionando intentando acceder a él en
tu navegador web favorito. En la barra de direcciones de nuestro
navegador pondremos a http://IP_SERVIDOR
Caddy como proxy inverso pero muy fácil
¿Que es Caddy?
Caddy es un proxy inverso que te permitirá tener diferentes servicios funcionando en un mismo servidor utilizando todos ellos protocolo seguro. Una de las grandes ventajas de este proxy, al igual que sucede con Traefik, es que ambos se encargan de obtener y renovar los certificados para cada uno de tus sitios de forma completamente automática. No te tienes que preocupar de esta tediosa operación.
Caddy a lo Traefik
Uno de los aspectos que me echaban para atrás de Caddy es el archivo de configuración, y la necesidad de reiniciar el Caddy cada vez que añadía un nuevo servicio. Sin embargo, existe un plugin para Caddy que resuelve ambos problemas de un solo plumazo. Se trata de caddy-docker-proxy.
Este plugin, se encarga de escanear la meta información de Docker en busca de etiquetas. En estas etiquetas tenemos que indicar que servicio o contenedor tiene que ser servido por Caddy. Esto es precisamente el mismo funcionamiento que realiza Traefik. Así, la operativa es la misma. Tienes que declarar una red externa, que es la que utilizará Caddy para publicar los servicios, y las correspondientes etiquetas, para indicarle que puerto tiene que utilizar y la url a publicar. Por supuesto, y como venía haciendo, se encargará de gestionar los certificados. Simplemente brutal.
Configuración de Caddy Web Server
La
configuración de Caddy es bastante sencilla y lo que tenemos que tener
en cuenta es que el fichero de configuración se encuentra en /etc/caddy/Caddyfile
:
# The Caddyfile is an easy way to configure your Caddy web server.
#
# Unless the file starts with a global options block, the first
# uncommented line is always the address of your site.
#
# To use your own domain name (with automatic HTTPS), first make
# sure your domain's A/AAAA DNS records are properly pointed to
# this machine's public IP, then replace ":80" below with your
# domain name.
:80 {
# Set this path to your site's directory.
root * /usr/share/caddy
# Enable the static file server.
file_server
# Another common task is to set up a reverse proxy:
# reverse_proxy localhost:8080
# Or serve a PHP site through php-fpm:
# php_fastcgi localhost:9000
}
# Refer to the Caddy docs for more information:
# https://caddyserver.com/docs/caddyfile
Para configurar un dominio en esta configuración únicamente tendremos que reemplazar :80
por nuestro dominio. Además, si queremos cambiar la ruta de nuestra web tendremos que modificar el parámetro root
.
voidnull.es {
root * /var/www/html/voidnull
file_server
}
Para recargar la configuración tenemos que reiniciar el servicio:
systemctl reload caddy
También si queremos podemos configurar los logs para el acceso:
voidnull.es {
root * /var/www/html/voidnull
file_server
log {
output file /var/log/caddy/access.log
format console
}
}
Por otro lado, si tenemos una web que está funcionando con PHP la configuración debería de ser similar a esta:
voidnull.es {
root * /var/www/html/voidnull
file_server
encode zstd gzip
php_fastcgi unix//run/php/php8.3-fpm.sock
log {
output file /var/log/caddy/access.log
format console
}
}
O si por ejemplo queremos configurar Caddy para usarlo de Proxy Reverse, podemos usarlo de esta otra manera:
voidnull.es {
root * /var/www/html/voidnull
file_server
encode zstd gzip
reverse_proxy localhost:3000
log {
output file /var/log/caddy/access.log
format console
}
}
Fuentes:
1 comentarios :
Excelente aporte. Hace rato buscaba algo como esto, pero no lo entendía mucho. Tu explicación fue concisa y detallada. Muchas Gracias
Publicar un comentario
Los comentarios pueden ser revisados en cualquier momento por los moderadores.
Serán publicados aquellos que cumplan las siguientes condiciones:
- Comentario acorde al contenido del post.
- Prohibido mensajes de tipo SPAM.
- Evite incluir links innecesarios en su comentario.
- Contenidos ofensivos, amenazas e insultos no serán permitidos.
Debe saber que los comentarios de los lectores no reflejan necesariamente la opinión del STAFF.