Tú decides qué servicios podemos activar para análisis, personalización y contenido externo.
Utilizamos cookies y tecnologías similares en nuestro sitio web para personalizar el contenido, integrar medios externos y comprender mejor el uso de determinadas secciones.
Cookies necesarias
Estas entradas garantizan funciones básicas como la seguridad, la estabilidad y el procesamiento de formularios.
Tus datos pueden tratarse con tu consentimiento o sobre la base de intereses legítimos. En la configuración de cookies puedes rechazar cada categoría opcional o autorizarla expresamente.
Algunos servicios procesan datos personales en terceros países. Al dar tu consentimiento, también aceptas esta transferencia. Encontrarás más información en nuestra política de privacidad.
Puedes volver a abrir y modificar tu selección en cualquier momento. · 1.0.2
Configurar Certbot en un servidor Linux – Protege tus sitios web con SSL de Let's Encrypt
Descubre cómo proteger tu sitio web con certificados SSL gratuitos usando Certbot y Let's Encrypt para una transmisión segura de datos → Más información aquí
10 de noviembre de 20266 min de lectura3 Visitas0 útil
Introducción
Los certificados SSL son una parte esencial de Internet y garantizan que los datos se transmitan de forma segura entre el cliente y el servidor. En esta guía te mostramos cómo configurar la herramienta de código abierto Certbot para solicitar certificados SSL gratuitos de la autoridad certificadora sin ánimo de lucro Let's Encrypt.
FAQ
Preguntas frecuentes
Necesitas un servidor Linux y un dominio propio con acceso a la configuración DNS. Debes crear un registro DNS A para cada dominio raíz o subdominio que apunte a la IP de tu servidor Linux.
Con el comando sudo apt install certbot.
Certbot es una herramienta de código abierto que te permite solicitar certificados SSL gratuitos de la autoridad certificadora sin ánimo de lucro Let's Encrypt.
Se recomienda Nginx, ya que es un servidor web de código abierto popular y eficiente. La guía de Linux Reverse Proxy ofrece ayuda para su configuración.
Comentarios
¿Te resultó útil este artículo?
Tus comentarios nos ayudan a priorizar y mejorar los contenidos.
0 de 0 Las valoraciones consideraron útil este artículo.
Ayuda personalizada
¿No te basta con la guía?
Nuestro equipo de soporte de ZAP conoce tu producto. Describe brevemente tu consulta y te ayudaremos personalmente.
Navegación
Software
Preparación
Para usar Certbot necesitas un servidor Linux y un dominio que te pertenezca. Debes tener acceso a la configuración DNS del dominio y debes crear un registro DNS A para cada dominio raíz o subdominio que quieras usar, apuntando a la dirección IP de tu servidor Linux.
Certbot también ofrece plugins adicionales que permiten configurar certificados para dominios con un solo clic, compatibles con varios servidores web como Nginx o Apache. Recomendamos Nginx, ya que es un servidor web de código abierto popular y eficiente. Puedes encontrar ayuda para configurarlo en nuestra guía de Linux Reverse Proxy.
Instalación
Comienza instalando el paquete de código abierto Certbot, con el que puedes solicitar certificados SSL gratuitos de Let's Encrypt.
Code
sudo apt install certbot
Una vez instalado Certbot, puedes solicitar certificados para tu(s) dominio(s). Let's Encrypt y Certbot ofrecen varios desafíos ACME para verificar la propiedad del dominio.
Recomendamos encarecidamente el método estándar HTTP-01, ya que permite renovaciones automáticas. Si tienes problemas con este método, puedes usar alternativamente el método DNS-01, que es manual y no soporta renovación automática, ya que se basa en la verificación mediante un registro DNS TXT.
Consejo
Usa plugins para servidores web
Si usas un servidor web como Nginx, Apache o tu propio servidor, te recomendamos ir directamente a la sección Plugins para servidores web más abajo. Allí mostramos cómo usar plugins adicionales de Certbot para estos servidores web, para hacer una instalación “con un clic” y solicitar certificados sin detener el servidor web.
Desafío HTTP-01
Con Certbot instalado, ahora puedes solicitar certificados para tu(s) dominio(s). En este ejemplo usamos el modo standalone, donde Certbot inicia un servidor web temporal para realizar las acciones necesarias. Esto significa que debes abrir el puerto 80 en tu firewall y no debe haber otros servidores web o servicios usando el puerto 80, para que el servidor temporal pueda iniciarse y la challenge pueda ser recuperada (de ahí el nombre HTTP en el desafío).
En el siguiente comando usas el parámetro --standalone para indicar a Certbot que quieres usar el servidor web temporal.
Después de ejecutar el comando, es posible que pases por una configuración interactiva inicial donde debes ingresar un correo electrónico para la comunicación del certificado, seguido de una lista de correo opcional y aceptar los términos y condiciones.
Certbot genera ahora un desafío ACME y lo hospeda mediante el servidor web temporal. Los servidores de Let's Encrypt intentan recuperar este desafío desde tu servidor. Si tiene éxito, se crean los certificados y se almacenan en /etc/letsencrypt/live/[tu_dominio].
Ahora puedes usar los certificados SSL donde los necesites, simplemente indicando la ruta local a los certificados.
Registro DNS TXT
Si tienes problemas para verificar tu dominio con el método HTTP-01, puedes usar alternativamente el método DNS-01, donde debes crear un registro DNS TXT con un valor proporcionado por Let's Encrypt.
Como se mencionó, este método no soporta renovación automática, a menos que configures tu propia infraestructura para ello. Por eso recomendamos usar el método HTTP-01 siempre que sea posible.
En el siguiente comando usas el parámetro --preferred-challenges para indicar a Certbot que quieres usar el método DNS-01.
Después de ejecutar el comando, es posible que pases por una configuración interactiva inicial donde debes ingresar un correo electrónico para la comunicación del certificado, seguido de una lista de correo opcional y aceptar los términos y condiciones.
Certbot te dará instrucciones para crear un registro DNS TXT con un valor específico. El nombre del host suele ser _acme-challenge. seguido de tu dominio (por ejemplo, _acme-challenge.zapdocs.example.com). El valor lo encontrarás en la consola.
Después de crear el registro, presiona Enter para continuar. Si todo está correcto y el registro se ha propagado, se crearán los certificados y se almacenarán en /etc/letsencrypt/live/[tu_dominio].
Información
Ten paciencia, ya que los cambios DNS a veces tardan un poco en propagarse. Normalmente toma solo unos minutos, pero en casos raros puede tardar más.
Ahora puedes usar los certificados SSL donde los necesites, simplemente indicando la ruta local a los certificados.
Plugins para servidores web
Certbot ofrece varios plugins adicionales para servidores web que facilitan aún más la gestión de certificados, ya que los plugins ajustan automáticamente los bloques del servidor relevantes. Para usar un plugin, simplemente añade el parámetro correspondiente a tu comando certbot.
Ambos métodos usan el desafío HTTP-01 y funcionan básicamente igual. Cuando se usa un plugin, Certbot busca primero el bloque del servidor que contiene el dominio solicitado como server_name. Luego genera un desafío ACME y añade temporalmente un bloque location /.well-known/acme-challenge/... en la configuración del bloque del servidor.
Los servidores de Let's Encrypt intentan recuperar el desafío desde tu servidor. Si tiene éxito, se genera tu certificado y la configuración del bloque del servidor se ajusta automáticamente para usar HTTPS (puerto 443) y para apuntar a las rutas de los nuevos certificados.
Plugin Nginx
Antes de usar el plugin, asegúrate de que esté instalado.
Code
sudo apt install python3-certbot-nginx
Para usar el plugin Nginx, usa el parámetro --nginx en tu comando así:
Si quieres desactivar los ajustes automáticos “con un clic” de los bloques del servidor por parte de Certbot, puedes añadir el parámetro certonly, por ejemplo certbot certonly.
Plugin Apache
Antes de usar el plugin, asegúrate de que esté instalado.
Code
sudo apt install python3-certbot-apache
Para usar el plugin Apache, usa el parámetro --apache en tu comando así:
Si quieres desactivar los ajustes automáticos “con un clic” de los bloques del servidor por parte de Certbot, puedes añadir el parámetro certonly, por ejemplo certbot certonly.
Plugin Webroot
Si usas tu propio servidor web local que no utiliza software tradicional de servidor web, quizá quieras usar el método Webroot para mantener tu servidor en funcionamiento sin detenerlo.
Para usar el plugin Webroot, usa el parámetro --webroot en tu comando. Además, debes indicar la ruta a la raíz de tu servidor web con -w [tu_ruta_webroot] (abreviatura de --webroot-path).
Una ruta webroot común es /var/www/html. Puedes usar este método también para servidores web como Nginx o Apache si quieres mantener el servidor en funcionamiento sin ajustes automáticos de bloques del servidor como con los plugins nativos.
Renovación automática
En la mayoría de los casos, Certbot configura la renovación automática de los certificados por ti, ya sea mediante un cronjob o un temporizador systemd. Puedes probarlo con el siguiente comando que simula una renovación en modo de prueba:
Code
certbot renew --dry-run
Consejo
Como se mencionó, el método DNS-01 no soporta renovación automática vía Certbot, a menos que configures tu propia infraestructura. Por eso recomendamos usar el método HTTP-01 siempre que sea posible.
Si todo funciona como se espera, la prueba será exitosa. Si quieres revisar o ajustar la renovación automática, encontrarás el cronjob o temporizador correspondiente en /etc/crontab/, /etc/cron.*/* o mediante systemctl list-timers.
Configuración manual de cronjob
Si la renovación automática no está configurada, puedes crearla tú mismo con un cronjob. Abre la crontab con crontab -e. Si es la primera vez que lo haces, se te pedirá elegir un editor: selecciona la primera opción /bin/nano.
En el editor Nano abierto, añade la siguiente línea para ejecutar la renovación diariamente a las 6 de la mañana hora local:
Code
0 6 * * * certbot renew
Guarda el archivo y cierra Nano con CTRL + X, confirma con Y y presiona ENTER.
Finalización
Has configurado Certbot con éxito para tu(s) dominio(s), ya sea en modo standalone, con Webroot o con alguno de los plugins, asegurando así la transmisión segura de datos vía HTTPS en tu sitio web. Si tienes preguntas o problemas, nuestro equipo de soporte está disponible todos los días para ayudarte 🙂
Alojamiento de servidores desde 2,49 € / mes, disponible al instante, con protección DDoS incluida.