View a markdown version of this page

Habilite HTTPS en su WordPress instancia con Let's Encrypt y Certbot - Amazon Lightsail

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Habilite HTTPS en su WordPress instancia con Let's Encrypt y Certbot

sugerencia

Amazon Lightsail ofrece un flujo de trabajo guiado que automatiza la instalación, la configuración y la renovación de un certificado de Let's Encrypt en su instancia. WordPress Le recomendamos encarecidamente que utilice el flujo de trabajo en lugar de seguir los pasos manuales de este tutorial. Para obtener más información, consulte Lanzar y configurar una instancia. WordPress

Con los balanceadores de carga de Amazon Lightsail, puede proteger sus sitios web y aplicaciones con ellos. SSL/TLS Sin embargo, el uso de un balanceador de cargas de Lightsail no suele ser la opción correcta. Quizás su sitio no necesita la escalabilidad o la tolerancia a errores que proporcionan los balanceadores de carga, o quizás necesita optimizar costos.

En este último caso, puede considerar el uso de Let's Encrypt para obtener un certificado SSL gratuito. En este tutorial, se muestra cómo solicitar un certificado comodín de Let's Encrypt con Certbot e integrarlo en la WordPress instancia mediante el complemento Really Simple SSL.

Contenido

Paso 1: completar los requisitos previos

Complete los siguientes requisitos previos si aún no lo ha hecho:

Una vez que haya completado los requisitos previos, continúe en la siguiente sección de este tutorial.

Paso 2: Instale Certbot en su instancia de Lightsail

Certbot es un cliente que se utiliza para solicitar un certificado a Let's Encrypt e implementarlo en un servidor web. Let's Encrypt usa el protocolo ACME para emitir certificados, y Certbot es un ACME-enabled cliente que interactúa con Let's Encrypt.

Para instalar Certbot en su instancia de Lightsail
  1. Inicie sesión en la consola de Lightsail. https://lightsail.aws.amazon.com/

  2. En la pestaña Instancias de la página de inicio de Lightsail, elija el icono de conexión rápida por SSH para la instancia a la que quiera conectarse.

    Conexión rápida mediante SSH en la página de inicio de Lightsail.
  3. Una vez que se haya conectado la sesión SSH basada en el navegador de Lightsail, introduzca el siguiente comando para actualizar los paquetes de su instancia:

    sudo apt-get update
  4. Ingrese el siguiente comando para instalar el paquete de propiedades del software: Los desarrolladores de Certbot utilizan un archivo de paquetes personales (PPA) para distribuir Certbot. El paquete de propiedades de software hace que sea más eficaz trabajar con PPA.

    sudo apt-get install software-properties-common -y
    nota

    Si se Could not get lock produce un error al ejecutar el sudo apt-get install comando, espere unos 15 minutos e inténtelo de nuevo. Este error puede deberse a un trabajo cron que utiliza la herramienta de administración de paquetes de Apt para instalar actualizaciones desatendidas.

  5. Ingrese el siguiente comando para actualizar apt para que incluya el nuevo repositorio:

    sudo apt-get update -y
  6. Ingrese el siguiente comando para instalar Certbot:

    sudo apt-get install certbot -y

    Certbot ya está instalado en su instancia de Lightsail.

Mantenga abierta la ventana de terminal de la sesión SSH basada en navegador; volverá a ella posteriormente en este tutorial. Continúe con la siguiente sección de este tutorial.

Paso 3: Solicitar un certificado comodín de SSL de Let's Encrypt

Comience el proceso de solicitud de un certificado de Let's Encrypt. Con Certbot, solicite un certificado comodín que le permita utilizar un solo certificado para un dominio y sus subdominios. Por ejemplo, un único certificado comodín funciona para el dominio de nivel superior example.com y los subdominios blog.example.com y stuff.example.com.

Para solicitar un certificado comodín SSL de Let's Encrypt
  1. En la misma ventana de terminal SSH basada en el navegador que se usó en el paso anterior de este tutorial, ingresa los siguientes comandos para configurar una variable de entorno para tu dominio. Asegúrese de sustituir domain por el nombre de dominio registrado.

    DOMAIN=domain WILDCARD=*.$DOMAIN

    Ejemplo:

    DOMAIN=example.com WILDCARD=*.$DOMAIN
  2. Ingrese el siguiente comando para confirmar que las variables devuelven los valores correctos:

    echo $DOMAIN && echo $WILDCARD

    Debería ver un resultado similar al siguiente:

    Confirme las variables de entorno del dominio.
  3. Ingrese el siguiente comando para iniciar Certbot en modo interactivo. Este comando le indica a Certbot que use un método de autorización manual con desafíos de DNS para verificar la propiedad del dominio. Solicita un certificado comodín para su dominio de nivel superior, así como sus subdominios.

    sudo certbot -d $DOMAIN -d $WILDCARD --manual --preferred-challenges dns certonly
  4. Introduce tu dirección de correo electrónico cuando se te pida, ya que se utiliza para los avisos de renovación y seguridad.

  5. Lee las condiciones de servicio de Let's Encrypt. Cuando hayas terminado, presiona Y si estás de acuerdo. Si no estás de acuerdo, no podrás obtener un certificado de Let's Encrypt.

  6. Responda en consecuencia a la pregunta para compartir su dirección de correo electrónico y a la advertencia sobre el registro de la dirección IP.

  7. Let's Encrypt ahora le pide que verifique que es el propietario del dominio especificado. Para ello, se añaden registros TXT para los registros de DNS del dominio. Se proporciona un conjunto de valores de registro TXT, tal y como se muestra en el siguiente ejemplo:

    nota

    Let's Encrypt puede proporcionar uno o varios registros TXT que debe utilizar para la verificación. En este ejemplo, se nos proporcionaron dos registros TXT para utilizarlos para la verificación.

    Registros TXT para certificados de Let's Encrypt.

Mantenga abierta la sesión SSH basada en el navegador de Lightsail; podrá volver a ella más adelante en este tutorial. Continúe con la siguiente sección de este tutorial.

Paso 4: agregar registros TXT a la zona de DNS del dominio

Al añadir un registro TXT a la zona DNS de su dominio, se verifica que es el propietario del dominio. Con fines de demostración, utilizamos la zona DNS de Lightsail. Sin embargo, los pasos podrían ser similares para otras zonas DNS normalmente alojadas por registradores de dominio.

nota

Para obtener más información sobre cómo crear una zona DNS de Lightsail para su dominio, consulte Crear una zona DNS para administrar los registros DNS de su dominio en Lightsail.

Para añadir registros TXT a la zona DNS de su dominio en Lightsail
  1. En el panel de navegación izquierdo, seleccione Dominios y DNS.

  2. En la sección Zonas DNS de la página, elija la Zona DNS del dominio que ha especificado en la solicitud de certificado de Certbot.

  3. En el editor de zona DNS, elija DNS records (Registros de DNS).

  4. Elija Añadir registro.

  5. En el menú desplegable Record type (Tipo de registro), elija TXT record (Registro TXT).

  6. Introduzca los valores especificados en la solicitud de certificado de Let's Encrypt en los campos Nombre del registro y Responde con.

    nota

    La consola de Lightsail rellena automáticamente la parte APEX del dominio. Por ejemplo, si desea agregar el subdominio _acme-challenge.example.com, entonces solo tiene que introducir _acme-challenge en el cuadro de texto, y Lightsail agrega la parte .example.com en su lugar cuando guarda el registro.

  7. Seleccione Save.

  8. Repita los pasos del 4 al 7 para agregar el segundo conjunto de registros TXT especificado en la solicitud de certificado de Let's Encrypt.

Mantenga abierta la ventana del navegador de la consola de Lightsail; podrá volver a ella más adelante en este tutorial. Continúe con la siguiente sección de este tutorial.

Paso 5: Confirmar que los registros TXT se han propagado

Utilice la MxToolbox utilidad para confirmar que los registros TXT se han propagado al DNS de Internet. La propagación de registros de DNS puede tardar un tiempo en función de su proveedor de alojamiento de DNS y el tiempo de vida (TTL) configurado para los registros de DNS. Es importante que realice este paso y que confirme que sus registros TXT se han propagado antes de continuar con la solicitud de certificado de Certbot. De lo contrario, se produce un error al solicitar el certificado.

Para confirmar que los registros TXT se han propagado al DNS de Internet
  1. Abra una nueva ventana del navegador y vaya a https://mxtoolbox.com/TXTLookup.aspx.

  2. Ingrese el siguiente texto en el cuadro de texto. Asegúrese de sustituir domain por su dominio.

    _acme-challenge.domain

    Ejemplo:

    _acme-challenge.example.com
    Búsqueda de registros TXT de MXToolbox.
  3. Elija TXT Lookup (Búsqueda de TXT) para realizar la comprobación.

  4. Se obtiene una de las siguientes respuestas:

    • Si tus registros TXT se han propagado al DNS de Internet, verás una respuesta similar a la que se muestra en la siguiente captura de pantalla. Cierre la ventana del navegador y continúe en la siguiente sección de este tutorial.

      Confirmación de que los registros de TXT se han propagado.
    • Si tus registros TXT no se han propagado al DNS de Internet, aparecerá la respuesta No se ha encontrado el registro DNS. Confirma que has agregado los registros DNS correctos a la zona DNS de tus dominios. Si agregaste los registros correctos, espera un poco más para que los registros DNS de tu dominio se propaguen y vuelve a ejecutar la búsqueda de TXT.

Paso 6: Complete la solicitud del certificado SSL de Let's Encrypt

Vuelva a la sesión SSH de Lightsail basada en el navegador de su WordPress instancia y complete la solicitud de certificado de Let's Encrypt. Certbot guarda los archivos del certificado, la cadena y la clave SSL en un directorio específico de la instancia. WordPress

Para completar la solicitud del certificado SSL de Let's Encrypt
  1. En la sesión SSH basada en el navegador Lightsail de su WordPress instancia, pulse Entrar para continuar con la solicitud del certificado SSL de Let's Encrypt. Si se realiza correctamente, aparece una respuesta similar a la que se muestra en la siguiente captura de pantalla:

    Certificado de Let's Encrypt solicitado correctamente.

    El mensaje confirma que sus archivos de certificado, de cadena y de clave están almacenados en el directorio /etc/letsencrypt/live/domain/. Asegúrese de sustituir domain por su dominio, como /etc/letsencrypt/live/example.com/.

  2. Anote la fecha de vencimiento especificada en el mensaje. Puede utilizarla para renovar su certificado en dicha fecha.

    Fecha de renovación de certificado de Let's Encrypt.
  3. Ahora que tienes el certificado SSL de Let's Encrypt, continúa con la siguiente sección de este tutorial. Paso 7: Cree los enlaces a los archivos de certificado en el directorio Apache

Crea enlaces a los archivos del certificado SSL de Let's Encrypt en el directorio del servidor Apache de tu WordPress instancia. Además, haga una copia de seguridad de los certificados existentes, por si los necesita más adelante.

Para crear enlaces a los archivos del certificado de Let's Encrypt en el directorio del servidor Apache
  1. En la sesión SSH basada en el navegador de Lightsail de su WordPress instancia, introduzca el siguiente comando para detener los servicios subyacentes:

    sudo systemctl stop apache2
  2. Ingrese el siguiente comando para definir una variable de entorno para su dominio. Asegúrese de sustituir domain por el nombre de dominio registrado.

    DOMAIN=domain

    Ejemplo:

    DOMAIN=example.com
    nota

    Si ha cerrado la ventana de la terminal SSH basada en el navegador después de configurar la DOMAIN variable en el paso 3, vuelva a ejecutarla y sustituirla por la de su dominio. DOMAIN=example.com example.com

  3. Ingresa el siguiente comando para confirmar que la variable devuelve el valor correcto:

    echo $DOMAIN
    Confirme la variable de entorno del dominio.
  4. Introduzca los siguientes comandos de forma individual para hacer una copia de seguridad de los archivos de certificado existentes:

    export BACKUP_PATH=/opt/aws/wordpress sudo cp /etc/ssl/certs/ssl-cert-snakeoil.pem $BACKUP_PATH/ssl-cert-snakeoil.pem.backup sudo cp /etc/ssl/private/ssl-cert-snakeoil.key $BACKUP_PATH/ssl-cert-snakeoil.key.backup
  5. Ingresa los siguientes comandos de forma individual para crear enlaces a tus archivos de certificado de Let's Encrypt en el directorio Apache:

    sudo ln -sf /etc/letsencrypt/live/$DOMAIN/fullchain.pem /etc/ssl/certs/ssl-cert-snakeoil.pem sudo ln -sf /etc/letsencrypt/live/$DOMAIN/privkey.pem /etc/ssl/private/ssl-cert-snakeoil.key
  6. Ingrese el siguiente comando para iniciar los servicios de pila subyacentes que detuvo anteriormente:

    sudo systemctl start apache2

    Los archivos del certificado SSL de su WordPress instancia se encuentran ahora en el directorio correcto.

  7. Continúe con la siguiente sección de este tutorial.

Paso 8: Configure el redireccionamiento HTTPS con el complemento SSL Really Simple

Instale el complemento Really Simple SSL en su WordPress sitio y utilícelo para integrar el certificado SSL. Really Simple SSL también configura la redirección de HTTP a HTTPS para garantizar que los usuarios que visiten su sitio estén siempre en la conexión HTTPS.

Para integrar el certificado SSL en su WordPress sitio, utilice el complemento SSL Really Simple
  1. En la sesión SSH basada en el navegador de Lightsail de su WordPress instancia, introduzca el siguiente comando para configurar el archivo de forma que se pueda wp-config.php escribir. El complemento SSL Really Simple escribe en el archivo para configurar los wp-config.php certificados.

    sudo chmod 666 /var/www/wp-config.php
  2. Abre una nueva ventana del navegador e inicia sesión en el panel de administración de tu WordPress instancia.

    nota

    Para obtener más información, consulta Cómo lanzar y configurar una WordPress instancia.

  3. Elija Complementos en el panel de navegación izquierdo.

  4. Selecciona Añadir nuevo complemento en la parte superior de la página de complementos.

    Añade un nuevo plugin en el panel WordPress de administración.
  5. Busque Really Simple SSL.

  6. Elija Install Now (Instalar ahora) junto al complemento Really Simple SSL en los resultados de búsqueda.

    El complemento SSL Really Simple aparece en los resultados de búsqueda de WordPress complementos.
  7. Una vez finalizada la instalación, selecciona Activar.

  8. En la pregunta que aparece, elija Go ahead, activate SSL! (Adelante, activar SSL) Es posible que se te redirija a la página de inicio de sesión del panel de administración de tu WordPress instancia.

  9. Vuelva a la sesión SSH basada en el navegador Lightsail de su WordPress instancia e introduzca el siguiente comando para restablecer los permisos restrictivos en el archivo. wp-config.php Este archivo contiene las credenciales de la base de datos y las claves de seguridad que no deben quedar en condiciones de lectura universal.

    sudo chmod 640 /var/www/wp-config.php

La WordPress instancia ahora está configurada para usar el cifrado SSL. Además, tu WordPress instancia ahora está configurada para redirigir automáticamente las conexiones de HTTP a HTTPS. Cuando un visitante visitahttp://example.com, se le redirige automáticamente a la conexión HTTPS cifrada (es decir,https://example.com).

Paso 9: Renovar los certificados de Let's Encrypt cada 90 días

Los certificados de Let's Encrypt son válidos durante 90 días. Los certificados se pueden renovar 30 días antes de que caduquen. Para renovar los certificados de Let's Encrypt, ejecute el comando original que utilizó para obtenerlos. Repite los pasos de la sección Solicitar un certificado comodín SSL de Let's Encrypt de este tutorial.

nota

El flujo de trabajo guiado de Amazon Lightsail gestiona automáticamente la renovación de los certificados. Para evitar la renovación manual de los certificados, cambie al flujo de trabajo guiado. Para obtener más información, consulte Lanzar y configurar una WordPress instancia.