Cómo alojar un sitio web con HTTPS usando Caddy en Linux


Un servidor web es una aplicación del lado del servidor diseñada para procesar solicitudes HTTP entre el cliente y el servidor. HTTP es el protocolo de red básico y muy utilizado.

El servidor HTTP Apache jugó un papel importante en el diseño de lo que es la web hoy. Solo tiene una cuota de mercado del 37,3%. Nginx ocupa el segundo lugar en la lista con una participación de mercado del 32,4%. Microsoft IIS y LiteSpeed ocupan los números 3 y 4 con una cuota de mercado del 7,8% y 6,9% respectivamente.

Recientemente, encontré un servidor web llamado Caddy. Cuando traté de preguntar acerca de sus características y lo implementé para probarlo, debo decir que es asombroso. Un servidor web que es portátil y no necesita ningún archivo de configuración. Pensé que era un proyecto muy bueno y quería compartirlo contigo. ¡Aquí le hemos dado una oportunidad a Caddy!

Caddy es una alternativa a un servidor web apache con fácil configuración y uso. Matthew Holt: el líder del proyecto de Caddy afirma que Caddy es un servidor web de propósito general, afirma estar diseñado para humanos y probablemente sea el único de su tipo.

Caddy es el único primer servidor web que puede adquirir y renovar certificados SSL/TLS automáticamente usando Let's Encrypt.

  1. Solicitudes HTTP rápidas mediante HTTP/2.
  2. Servidor web capaz con la mínima configuración y una implementación sin problemas.
  3. El cifrado TLS garantiza el cifrado entre las aplicaciones que se comunican y los usuarios a través de Internet. Puede utilizar sus propias claves y certificados.
  4. Fácil de implementar/usar. Un solo archivo y sin dependencia de ninguna plataforma.
  5. No se requiere instalación.
  6. Ejecutables portátiles.
  7. Ejecutar en varias CPU/núcleos.
  8. Tecnología WebSockets avanzada: sesión de comunicación interactiva entre el navegador y el servidor.
  9. Documentos de Server Markdown sobre la marcha.
  10. Soporte completo para la última versión de IPv6.
  11. Crea un registro en un formato personalizado.
  12. Sirve FastCGI, proxy inverso, reescritura y redirecciones, URL limpia, compresión Gzip, exploración de directorios, hosts virtuales y encabezados.
  13. Disponible para todas las plataformas conocidas: Windows, Linux, BSD, Mac, Android.

  1. Caddy tiene como objetivo servir la Web como debería ser en el año 2020 y no al estilo tradicional.
  2. Está diseñado no solo para atender solicitudes HTTP sino también para humanos.
  3. Cargado con las funciones más recientes: HTTP/2, IPv6, Markdown, WebSockets, FastCGI, plantillas y otras funciones listas para usar.
  4. Ejecute los ejecutables sin necesidad de instalarlos.
  5. Documentación detallada con la menor descripción técnica.
  6. Desarrollado teniendo en cuenta la necesidad y la facilidad de los diseñadores, desarrolladores y blogueros.
  7. Host virtual de soporte: defina tantos sitios como desee.
  8. Adecuado para usted, sin importar si su sitio es estático o dinámico. Si eres humano, es para ti.
  9. Usted se enfoca en qué lograr y no en cómo lograrlo.
  10. Disponibilidad de soporte para la mayoría de las plataformas: Windows, Linux, Mac, Android, BSD.
  11. Por lo general, tiene un archivo Caddy por sitio.
  12. Configúrelo en menos de 1 minuto, incluso si no es muy amigable con la computadora.

Lo probaré en el servidor CentOS, así como en el servidor Debian, pero las mismas instrucciones también funcionan en distribuciones basadas en RHEL y Debian. Tanto para el servidor voy a utilizar ejecutables de 64 bits.

Operating Systems: CentOS 8 and Debian 10 Buster
Caddy Version: v2.0.0

Instalación de Caddy Web Server en Linux

No importa si se encuentra en la plataforma y el tipo de arquitectura que esté utilizando, caddy proporciona paquetes binarios listos para usar, que se pueden instalar utilizando su administrador de paquetes predeterminado como se muestra.

Instalaremos la última versión del servidor web Caddy desde el repositorio CORP en Fedora o RHEL/CentOS 8.

# dnf install 'dnf-command(copr)'
# dnf copr enable @caddy/caddy
# dnf install caddy

En RHEL/CentOS 7, use los siguientes comandos.

# yum install yum-plugin-copr
# yum copr enable @caddy/caddy
# yum install caddy
$ echo "deb [trusted=yes] https://apt.fury.io/caddy/ /" \
    | sudo tee -a /etc/apt/sources.list.d/caddy-fury.list
$ sudo apt update
$ sudo apt install caddy

Una vez instalado el servidor web caddy, puede iniciar, habilitar y verificar el estado del servicio usando los siguientes comandos systemctl.

# systemctl start caddy
# systemctl enable caddy
# systemctl status caddy

Ahora abra su navegador y apunte su navegador a la siguiente dirección y debería poder ver la página de bienvenida de caddy.

http://Server-IP
OR
http://yourdomain.com

Configurar dominios con Caddy

Para configurar un dominio, primero, debe apuntar los registros DNS A/AAAA de su dominio a este servidor en su panel de control de DNS. A continuación, cree un directorio raíz de documentos para su sitio web "example.com" en la carpeta /var/www/html como se muestra.

$ mkdir /var/www/html/example.com

Si está utilizando SELinux, debe cambiar el contexto de seguridad del archivo para el contenido web.

# chcon -t httpd_sys_content_t /var/www/html/example.com -R
# chcon -t httpd_sys_rw_content_t /var/www/html/example.com -R

Ahora abra y edite el archivo de configuración de caddy en /etc/caddy/Caddyfile .

# vim /etc/caddy/Caddyfile

Reemplace : 80 con su nombre de dominio y cambie la raíz del sitio a /var/www/html/example.com como se muestra.

Vuelva a cargar el servicio Caddy para guardar el cambio de configuración.

# systemctl reload caddy

Ahora cree cualquier página HTML (puede crear la suya propia) y guarde la página en el directorio raíz de documentos de su sitio web.

# touch /var/www/html/example.com/index.html

Agregue el siguiente código HTML de muestra a la página de índice de su sitio web.

# echo '<!doctype html><head><title>Caddy Test Page at TecMint</title></head><body><h1>Hello, World!</h1></body></html>' | sudo tee /var/www/html/index.html

Ahora visite nuevamente su sitio para ver su página.

Si todo está configurado correctamente, su dominio será servido a través de un protocolo HTTPS que indica que su conexión es segura.

Conclusión

Si eres novato y quieres configurar un servidor web sin ensuciarte las manos con la configuración, esta herramienta es para ti. Incluso si usted es un usuario experimentado que necesita un servidor web instantáneo y simple, Caddy, vale la pena intentarlo. Con un poco de configuración, también puede establecer permisos de carpeta, control de autenticación, páginas de error, Gzip, redireccionamiento HTTP y otros, si necesita configurar un servidor web más complejo y avanzado.

No tome Caddy como reemplazo de Apache o Nginx. Caddy no está diseñado para manejar entornos de producción de alto tráfico. Está diseñado para una configuración rápida del servidor web cuando su preocupación es la velocidad y la confiabilidad.

Guía de usuario completa/Documentación completa de Caddy Web Server

Hemos traído esta documentación que tiene como objetivo una revisión rápida y las instrucciones de instalación con imágenes donde sea necesario. Si encuentra pros/contras del proyecto o alguna sugerencia, puede dárnoslo en nuestra sección de comentarios.

Para mí, este proyecto es demasiado joven, todavía funciona a la perfección y parece poderoso y prometedor. El mayor punto a favor que veo es que Caddy no necesita llevar su archivo de configuración a todas partes. Su objetivo es proporcionar lo mejor de Nginx, Lighttpd, vagrant y Websocketd. Eso es todo de mi parte. Mantente conectado a Tecmint. Prestigio