CasaOS puede alojar un sitio web, pero el sitio web y la interfaz de administración de CasaOS deben tratarse como servicios independientes. Ese fue el consejo más importante de este breve hilo de octubre de 2023: ejecutar un servidor web en Docker es razonable, mientras que exponer directamente al Internet público el panel de CasaOS es una decisión diferente y mucho más arriesgada.
Para un sitio estático sencillo, Nginx sigue siendo una excelente opción como contenedor, ya que la imagen oficial puede servir un directorio de archivos HTML, CSS, JavaScript e imágenes con muy poca configuración.
Ejecuta el sitio web en su propio contenedor
CasaOS es una capa de administración para Docker y los archivos del sistema Linux subyacente. Por lo tanto, no es necesario instalar un sitio web dentro del propio servicio de administración de CasaOS.
Mantén el servidor web aislado en su propio contenedor, con un directorio de contenido específico y solo los puertos que necesite.
La imagen oficial de Nginx puede servir contenido estático directamente
La imagen actual de Nginx para Docker permite montar un directorio local del sitio web en modo de solo lectura en:
/usr/share/nginx/html
Este modelo es ideal para un sitio personal estático, ya que el proceso del servidor puede leer el contenido sin modificar los archivos de origen.
Usa la estructura actual del contenedor oficial de Nginx para contenido estático en lugar de copiar una imagen de terceros antigua de un tutorial de 2021.
Apache también es válido, pero la elección no es el límite de seguridad
La pregunta original planteaba Apache frente a Nginx. Cualquiera de los dos puede alojar un sitio web eficazmente. Las decisiones más importantes son cómo se actualiza el contenedor, dónde se almacenan los archivos del sitio, si se configura TLS y qué puertos de red se exponen.
Cambiar de Nginx a Apache no hace que un panel de administración expuesto públicamente sea seguro.
Mantén privado el panel de CasaOS
El miembro de la comunidad que respondió advirtió explícitamente contra exponer CasaOS en Internet. La interfaz de administración puede controlar archivos, contenedores y otras funciones del servidor; exponerla crea una superficie de ataque mucho mayor que exponer un contenedor de sitio web configurado de forma limitada.
Mantén la administración en la red local o detrás de una capa privada de acceso remoto.
Usa una red privada para la administración
El usuario original decidió mantener CasaOS en casa para Jellyfin y usar Tailscale para acceder remotamente a Nextcloud. Esa es una separación de responsabilidades adecuada: el tráfico del sitio web público puede dirigirse al contenedor web, mientras que los servicios administrativos permanecen accesibles únicamente a través de una red superpuesta privada.
Si el sitio web debe ser público, añade TLS y una ruta de entrada clara
Un sitio público normalmente necesita un nombre de dominio, un certificado HTTPS y ya sea un reenvío de puertos del enrutador o una arquitectura con túnel inverso autenticado. La elección exacta depende de si tienes una IP pública y de cuánta infraestructura quieres administrar.
Publica únicamente los puertos del servidor web que el sitio necesite. No reenvíes puertos no relacionados de CasaOS ni de la administración de Docker.
Actualiza el contenedor web y su pila de contenido
Un sitio estático mínimo con Nginx tiene una superficie de ataque relativamente pequeña, pero el contenedor sigue necesitando actualizaciones de seguridad. Los sitios dinámicos creados con PHP, WordPress, Node.js o una base de datos añaden muchos más componentes y deben actualizarse como una pila de aplicaciones, no tratarse como simples archivos estáticos.
Haz copias de seguridad del contenido del sitio por separado del contenedor
Conserva los archivos del sitio en una carpeta persistente del host o en un repositorio. Si se recrea el contenedor, el sitio web debe poder recuperarse sin reconstruir el contenido desde el sistema de archivos desechable del contenedor.
Preguntas frecuentes sobre servidores web en CasaOS
¿Puede CasaOS alojar un sitio web?
Sí. Un servidor Nginx o Apache en Docker puede publicar contenido web independientemente de la interfaz de CasaOS.
¿Debe exponerse públicamente el propio panel de CasaOS?
La comunidad de origen recomendó específicamente no hacerlo. Mantén privada la administración.
¿Qué servidor es más sencillo para un sitio estático?
La imagen oficial de Nginx para Docker ofrece un flujo de trabajo sencillo para contenido estático.
