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.htmlEsta 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 ..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.
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.