Instalación del servidor Caddy en Ubuntu

Instalación del servidor Caddy en Ubuntu
TLS es importante para todos los sitios web y aplicaciones web. Si hay una aplicación que usa HTTP o hace correo electrónico, necesita TLS. TLS garantiza la privacidad, la integridad y la autenticidad de su contenido. Con autoridades de certificado TLS gratuitas como Let's Cifrar y CloudFlare, TLS se está convirtiendo más en una norma que en un caso especial.Sin embargo, encender TLS es a menudo un proceso masivamente complicado. También tiene ramificaciones de seguridad masivas, si las configuraciones son mal manejadas o el cielo no lo quiera, accidentalmente filtra su clave privada TLS. Para mitigar algunos de estos riesgos y también para hacer que nuestras vidas sean mucho más fáciles, hay un nuevo servidor web en la ciudad. Caddy habla http/2, y viene con TLS habilitado fuera de la caja. Esto significa que no tiene que configurar manualmente HTTP a HTTPS redirige o preocuparse por un Gallizion Cipher Suites que nunca antes había visto.

Con el servidor web de Caddy, obtienes https o nada. Así que veamos cómo puede instalar Caddy en Ubuntu y configurarlo para servir a su aplicación web. Obtendremos nuestros certificados TLS de LetsenCrypt.

Configuración

Suponga que tiene un VPS con dirección IP: 10.20.30.40 y un subdominio FQDN.ejemplo.com quién es un disco apuntando a esta IP.
El VPS está ejecutando Ubuntu 18.04 LTS Server Edition y las siguientes configuraciones se realizan como usuario root.

Paso 1: Instalación del servidor web Caddy

Caddy está escrito en Go, y puede ejecutarse como un binario ejecutable independiente. Sin embargo, hay varios complementos que puede construir para servidores DNS específicos, etc. Instalaremos el binario simple sin ningún complemento para que funcione en todas las personalizaciones.

Para obtener su binaria, visite su página de descargas oficiales y seleccione todos los complementos y la telemetría que necesita. A continuación será un comando bash descargar y colocar el binario del servidor Caddy en la ubicación correcta. Como usuario de raíz, ejecute:

$ curl https: // getCaddy.com | bash -s personal

Una vez hecho esto, podemos localizar el binario, ejecutando:

$ Whereis Caddy
Caddy:/usr/local/bin/caddy

Si alguna vez necesita eliminar el servidor o actualizarlo con un ejecutable más nuevo, ahora sabe dónde buscar.

Paso 2: Prueba de su sitio web

Si no tiene un sitio web, simplemente cree una carpeta vacía y ejecute los comandos allí. Puede obtener un error 404 en su navegador, pero la configuración del servidor aún se puede probar. Si tiene un sitio web que atraviesa el directorio donde se encuentra la raíz web de su sitio web en. Como ejemplo típico, seleccionaré el /var/www/mysite Como ejemplo con el siguiente índice.html almacenado dentro de él.

/var/www/mysite/index.html



Esta página es servida por Caddy Server


Esta página es servida por Caddy Server


Este es un párrafo.



Esto es suficiente para comenzar. Ahora en el mismo directorio que este índice.Página HTML, ejecute el siguiente Comad:

$ Caddy
Activando características de privacidad ... Hecho.
http: //: 2015

Advertencia: el límite del descriptor de archivo 1024 es demasiado bajo para los servidores de producción. Se recomienda al menos 8192. Arregle con 'Ulimit -n 8192'.

Deja a Caddy corriendo en este estado.

Puede ir a la IP pública de su servidor en el número de puerto 2015 para probar esto: http: // 10.20.30.40: 2015 Asegúrese de que su firewall no esté bloqueando este puerto.

Y verás ese índice.HTML se sirve automáticamente. Esto sigue a la antigua convención de que la primera página de cualquier sitio web se llama índice que la mayoría de los servidores web como Nginx, Apache e incluso Caddy sirven como la primera página, incluso cuando no especifica esta página usando /index.html al final de la URL.

Paso 3: Configuración de HTTPS

Ahora que ha confirmado que su sitio web realmente funciona con Caddy y se puede servir con él, es hora de configurar HTTPS. Para hacer esto, puede usar la interfaz de línea de comandos o usar un archivo de configuración llamado como CaddyFile. Primero usaremos la línea de comando.

En el mismo directorio que su sitio web, ejecute el siguiente comando:

$ Caddy -Host Subdominio.ejemplo.comunicarse
## Por primera vez, le pedirá su dirección de correo electrónico para que pueda obtener
Notificación de renovación de certificado de Letsencrypt

Producción:

Activando características de privacidad ..
Sus sitios se servirán a través de HTTPS automáticamente usando Let's Cifrypt.
Al continuar, usted acepta el Acuerdo de suscriptores Let Encrypt en:
https: // Letsencrypt.org/Documents/LE-SA-V1.2 de noviembre-15-2017.pdf
Ingrese su dirección de correo electrónico para significar el acuerdo y para ser notificado
En caso de problemas. Puedes dejarlo en blanco, pero no lo recomendamos.
Dirección de correo electrónico: [email protected]

Eso es todo! Su sitio web ya está en funcionamiento. Puedes visitar el subdominio.ejemplo.com y se redirigirá automáticamente a HTTPS sin ningún número de puerto personalizado u otros matices.

Es tan fácil! Puede Ctrl+C para detener el servidor, la próxima vez que reutilice este certificado.

Paso 4: Escribir tu CaddyFile

El método anterior es bueno para casos de uso experimentales en los que solo está probando el agua. Pero si desea que se ejecute un servidor web como un proceso de fondo, debe escribir un CaddyFile y dígale al servidor web que use esta configuración para ejecutar su servidor.

Este es el ejemplo más simple para el mismo sitio web que alojamos anteriormente:

subdominio.ejemplo.com
root/var/www/mysite

La directiva raíz le dice al servidor web dónde se encuentra el sitio web. No puede salir de este directorio desde el lado del cliente. Generalmente es una buena idea colocar su archivo de caddie en cualquier lugar, pero dentro de esta raíz web. Puede colocarlo en / etc / carpeta o su directorio de inicio. Por ejemplo, si el archivo se crea en /etc /caddyfile, puede decirle al servidor que use esta configuración, ejecutando el comando:

$ caddy -conf /etc /caddyfile

Hay múltiples directivas que puede usar para ajustar su servidor. Puede habilitar el registro, compresión, proxy inverso, etc. La documentación oficial es un buen lugar para comenzar a buscar directivas relacionadas con su caso de uso. Aquí hay otro ejemplo en el que se atienden dos sitios web con dos nombres de dominio diferentes:

subdominio.ejemplo.com
root/var/www/mysite

subdominio2.ejemplo.com
root/var/www/mysite2
gzip
Registro ... /Acceso.registro

La directiva GZIP habilita la compresión, si el cliente lo admite. Esto mejora el rendimiento a medida que se pueden enviar más datos a través del ancho de banda y el mismo intervalo de tiempo. El registro ayuda con la depuración y el seguimiento de la actividad de la red.

Conclusión

La mayor fortaleza de Caddy Web Server es su archivo de configuración fácil de escribir y leer y su flexibilidad en múltiples plataforma. Sin embargo, debido a su extraña licencia, el servidor no es estrictamente de código abierto. El código fuente es de código abierto, y puede compilarlo totalmente usted mismo y usar el ejecutable resultante, pero el binario que recibe del sitio oficial no debe ser utilizado para fines comerciales sin una licencia adecuada.

Esto nos devuelve al tema de las complicaciones donde, en lugar de tratar solo con archivos de configuración, también tenemos que lidiar con la compilación del código fuente que derrota el propósito del servidor web fácil de usar. Háganos saber si tiene alguna idea sobre Caddy, y si alguno de sus sitios web se ejecuta encima.