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
Servidor VPS: crear un certificado SSL (Let's Encrypt) para servidores Linux
Descubre cómo proteger tu sitio web con certificados SSL gratuitos mediante Certbot y Let's Encrypt para garantizar una transferencia segura de datos → Más información
10 de noviembre de 20267 min de lectura2 Visitas0 útil
Introducción
Los certificados SSL son una parte esencial de Internet y permiten transferir datos de forma segura entre el cliente y el host. En esta guía te mostramos cómo configurar la herramienta de código abierto Certbot para solicitar certificados SSL gratuitos a la autoridad de certificación sin ánimo de lucro Let's Encrypt.
FAQ
Preguntas frecuentes
Necesitas un servidor Linux, un dominio del que seas titular y acceso a su configuración DNS. Para cada dominio raíz o subdominio que quieras utilizar, necesitas un registro DNS A que apunte a la dirección IP de tu servidor Linux.
Ejecuta el comando 'sudo apt install certbot'.
El método estándar HTTP-01, ya que permite la renovación automática. Como alternativa, puedes usar el método manual DNS-01 mediante un registro DNS TXT, pero no admite la renovación automática.
Sí. Certbot ofrece complementos para Nginx y Apache que permiten configurar un certificado con una instalación de un solo clic.
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.
Zappy conoce esta guía y te responde directamente en el chat.
Navegación
VPS
Preparación
Para utilizar Certbot, necesitas un servidor Linux y un dominio del que seas titular. 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 utilizar, que apunte a la dirección IP de tu servidor Linux.
Certbot también ofrece complementos adicionales que te permiten configurar un certificado para un dominio con un solo clic, compatibles con distintos servidores web como Nginx o Apache. Recomendamos Nginx, ya que es un servidor web de código abierto popular y de alto rendimiento. Encontrarás ayuda para configurarlo en nuestra guía de proxy inverso de Linux.
Instalación
Empieza 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 tus dominios. Let's Encrypt y Certbot ofrecen distintos desafíos ACME para verificar que eres el titular del dominio.
Recomendamos encarecidamente el método estándar HTTP-01, ya que permite la renovación automática. Si tienes problemas con este método, puedes utilizar como alternativa el método manual DNS-01, que funciona mediante un registro DNS TXT, pero no admite la renovación automática.
Consejo
Usa complementos para servidores web
Si utilizas un servidor web como Nginx, Apache o uno propio, te recomendamos que vayas directamente a la sección Complementos para servidores web más abajo. Allí te mostramos cómo usar complementos adicionales de Certbot para estos servidores web, realizar una instalación con un solo clic y solicitar certificados sin tener que detener el servidor web.
Desafío HTTP-01
Una vez instalado Certbot, ya puedes solicitar certificados para tus dominios. En este ejemplo utilizamos el modo independiente, en el que Certbot inicia un servidor web temporal para completar el desafío. Para ello, debes abrir el puerto 80 en el firewall y asegurarte de que no haya ningún otro servidor web o servicio ejecutándose en el puerto 80, de modo que el servidor temporal pueda iniciarse y se pueda completar el desafío (de ahí el nombre HTTP del desafío).
En el siguiente comando, utilizas el parámetro --standalone para indicarle a Certbot que use el servidor web temporal.
Después de ejecutar el comando, es posible que aparezca un proceso de configuración interactivo inicial en el que tendrás que introducir una dirección de correo electrónico para recibir comunicaciones sobre el certificado. A continuación, podrás suscribirte opcionalmente a una lista de correo y deberás aceptar las condiciones.
Certbot generará ahora un desafío ACME y lo alojará en el servidor web temporal. Los servidores de Let's Encrypt intentarán acceder a él desde tu servidor. Si todo va bien, se crearán los certificados y se guardarán en el directorio /etc/letsencrypt/live/[deine_domain].
Ya puedes utilizar los certificados SSL donde los necesites; solo tienes que indicar la ruta local de los certificados.
Registro DNS TXT
Si tienes problemas para verificar tu dominio mediante el método HTTP-01, puedes utilizar como alternativa el método DNS-01. Para ello, crea un registro DNS TXT con el valor proporcionado por Let's Encrypt.
Como ya se ha mencionado, este método no admite la renovación automática, a menos que configures tu propia infraestructura para ello. Por eso, te recomendamos utilizar el método HTTP-01 siempre que sea posible.
En el siguiente comando, utilizas el parámetro --preferred-challenges para indicarle a Certbot que quieres usar el método DNS-01.
Después de ejecutar el comando, es posible que aparezca un proceso de configuración interactivo inicial en el que tendrás que introducir una dirección de correo electrónico para recibir comunicaciones sobre el certificado. A continuación, podrás suscribirte opcionalmente a una lista de correo y deberás aceptar las condiciones.
Certbot te indicará cómo crear un registro DNS TXT con un valor específico. El nombre de destino suele ser _acme-challenge. seguido de tu dominio (por ejemplo, _acme-challenge.zapdocs.example.com), y encontrarás el valor en la consola.
Después de crear el registro, pulsa Enter para continuar. Si todo es correcto y el registro se ha propagado, se crearán los certificados y se guardarán en el directorio /etc/letsencrypt/live/[deine_domain].
Información
Ten paciencia, ya que los cambios de DNS pueden tardar un poco en propagarse. Normalmente solo tardan unos minutos, aunque en raras ocasiones pueden tardar más.
Ya puedes utilizar los certificados SSL donde los necesites; solo tienes que indicar la ruta local de los certificados.
Renovación automática
En la mayoría de los casos, Certbot configura la renovación automática de los certificados mediante un trabajo Cron o un temporizador de systemd. Puedes comprobarlo con el siguiente comando, que ejecuta una prueba con --dry-run.
Code
certbot renew --dry-run
Consejo
Como ya se ha mencionado, el método DNS-01 no admite la renovación automática mediante Certbot, a menos que configures tu propia infraestructura para ello. Por eso, te recomendamos utilizar el método HTTP-01 siempre que sea posible.
La prueba debería completarse correctamente si todo está bien configurado. Si quieres consultar o modificar la renovación automática, encontrarás el comando correspondiente en uno de los siguientes directorios: /etc/crontab/, /etc/cron.*/* o mediante systemctl list-timers.
Configuración manual de un trabajo Cron
Si la renovación automática no está configurada, puedes añadirla manualmente mediante un trabajo Cron. Abre Crontab con crontab -e. Si es la primera vez que lo haces, se te pedirá que elijas un editor. Selecciona la primera opción, que normalmente es /bin/nano.
En Nano, añade la siguiente línea para ejecutar la renovación a diario a las 6 de la mañana, hora local.
Code
0 6 * * * certbot renew
Guarda el archivo y sal de Nano con CTRL + X, confirma con Y y pulsa ENTER.
Conclusión
Has configurado Certbot correctamente para tus dominios, ya sea en modo independiente, mediante Webroot o con uno de los complementos. Así, tu sitio web podrá transferir datos de forma segura mediante HTTPS. Si tienes alguna pregunta o problema, ¡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.
Certbot ofrece varios complementos adicionales para servidores web que simplifican aún más la gestión de certificados, ya que ajustan automáticamente los bloques de servidor pertinentes. Para utilizar un complemento, solo tienes que añadir el parámetro correspondiente al comando certbot.
Ambos métodos utilizan el desafío HTTP-01 y funcionan básicamente de la misma manera. Primero, Certbot busca el bloque de servidor que contiene el dominio solicitado como server_name. Después, Certbot genera un desafío ACME y añade un bloque temporal location /.well-known/acme-challenge/... a la configuración del bloque de servidor.
A continuación, los servidores de Let's Encrypt intentan acceder al desafío desde tu servidor. Si todo va bien, se genera el certificado y la configuración del bloque de servidor se ajusta automáticamente para utilizar HTTPS (puerto 443) y añadir las rutas a los nuevos certificados.
Complemento de Nginx
Antes de utilizar el complemento, asegúrate de que esté instalado.
Code
sudo apt install python3-certbot-nginx
Para utilizar el complemento de Nginx, añade el parámetro --nginx al comando.
Si quieres desactivar los ajustes automáticos de los bloques de servidor con un solo clic que realiza Certbot, puedes añadir el parámetro certonly, por ejemplo, certbot certonly.
Complemento de Apache
Antes de utilizar el complemento, asegúrate de que esté instalado.
Code
sudo apt install python3-certbot-apache
Para utilizar el complemento de Apache, añade el parámetro al comando.
Si quieres desactivar los ajustes automáticos de los bloques de servidor con un solo clic que realiza Certbot, puedes añadir el parámetro certonly, por ejemplo, certbot certonly.
Complemento Webroot
Si utilizas tu propio servidor web local, que no es un software estándar, quizá prefieras usar el método Webroot para mantenerlo en funcionamiento sin tener que detenerlo.
Para utilizar el complemento Webroot, usa el parámetro --webroot en el comando. Además, debes especificar la ruta al directorio raíz de tu servidor web con -w [dein_webserver_pfad] (abreviatura de --webroot-path).
Una ruta Webroot habitual es /var/www/html. También puedes utilizar este método con servidores web como Nginx o Apache si quieres mantener el servidor en funcionamiento sin aplicar ajustes automáticos a los bloques de servidor, como ocurre con los complementos nativos.