Cómo instalar un certificado letsencrypt para un sitio gestionado por Cloudflare

Escenario

Estamos usando CloudFlare para uno de nuestros dominios y necesitamos instalar o renovar un certificado de Letsencrypt. CloudFlare es un servicio que, entre otras, proporciona un proxy (intermediario) entre los visitantes del sitio y el servidor donde está hospedado el sitio web.

Configuración de Cloudflare

Gestionar un sitio web desde CloudFlare es sencillo. Después de crear una cuenta gratuita, añadimos un dominio de nuestra propiedad. CloudFlare nos proporcionará un par direcciones de DNS que usaremos en nuestro proveedor del dominio en vez de las de éste. Y ya está, nuestro dominio se encuentra protegido detrás del sistema de CloudFlare con lo que dispondremos de una serie de herramientas para mejorar la seguridad, velocidad y rendimiento de nuestro sitio web en general. En el apartado Crypto, CloudFlare nos permite, por ejemplo, forzar todas las peticiones http a https, incluso usar su certificado ssl (Universal – Shared) para nuestro dominio. Si marcamos la conexión como full strict, obliga a que las comunicaciones entre CloudFlare y nuestro servidor estén bajo SSL también. Para eso necesitamos un certificado SSL instalado en nuestro servidor también.

Problema

Al tener nuestro sitio web detrás del proxy de CloudFlare no nos vale con usar cerbot para actualizar el certificado, tal y como cuento aquí. $ sudo certbot --nginx -d certbot.technoage.net Cerbot no va a resolver nuestro sitio web correctamente al estar usar la IP del proxy de CloudFlare.

Solución

Instalar letsencrypt desde el repositorio de github y renovar el certificado usando la opción –webroot: $ cd$ git clone https://github.com/letsencrypt/letsencrypt$ cd letsencrypt Y lanzamos el siguiente comando para instalar letsencrypt: $ ./letsencrypt-auto Cuando acabe de instalarse, si ofrece la opción de renovar los certicados, salimos del programa y usamos el siguiente comando (uso el dominio technoage.net a modo de ejemplo): sudo letsencrypt --webroot --webroot-path /var/www/technoage.net/public/ --renew-by-default --email info@technoage.net --text --agree-tos -d technoage.net -d www.technoage.net
Nota: sustituir el path de directorio público de la aplicación y nombre del domino por los adecuados. Tambien hay que tener en cuenta que para que funcione, los registros de tipo A de los dominios han de estar apuntando a nuestro servidor y, además, nuestro servidor web configurado correctamente.

Publicaciones Similares

  • phpsize

    phpize: command not found Si alguna vez te topas con este error intentando instalar un paquete PEAR en un sistema linux, muy probablemente sea por que no tienes installado el paquete php-devel.

  • Actualización de Mautic 4

    Este artículo va dedicado a aquellos administradores web entre cuyas labores se encuentre el mantenimiento de una instalación Mautic. Por eso no voy a explicar qué es Mautic: si no lo conoces, este artículo carece de interés. Vamos a partir de la base que el usuario UNIX, propietario de la instalación, es mautic y que…

  • Disco corrupto en nas4Free

    Escenario Tengo un servidor para mis copias de seguridad que usa el gestor nas4Free, basado en FreeBSD 9.3. Problema Tras un corte inesperado del suministro eléctrico, la máquina no vuelve a arrancar. Se muestra este error por pantalla: /dev/ada4s2 contains a file system with errors, check forced /dev/ada4s2 directory inode 7561250, block #1 offset 2008…

  • Autenticación múltiple en Spring boot: JWT y formulario

    Escenario Por exigencias de un tercero debemos adaptar nuestro servicio web para que sea compatible con autenticación por JWT. Hasta ahora las llamadas al API se hacían desde dentro de la aplicación usando las mismas credenciales del usuario autenticado por cookie. La configuración de la cadena de filtros de Spring Security es la siguiente:

    …

  • Sonata Admin: el calendario no se cierra

    Escenario Incluir un filtro de rango de fechas en SonataAdmin que use un calendario para seleccionar la fecha es más o menos fácil. Primero añadimos el siguiente bloque en el admin de nuestra entidad:

    Y la siguiente clave bajo form_themesen el fichero config/packages/twig.yaml:

    Problema El calendario no se cierra automáticamente cuando se selecciona…

Un comentario

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *