GNU/Linux >> Tutoriales Linux >  >> Panels >> Panels

Cómo habilitar el protocolo HTTPS con Apache 2 en Ubuntu 20.04

HTTPS es la versión segura del Protocolo de transferencia de hipertexto (HTTP). HTTPS utiliza el protocolo SSL/TLS para el cifrado y la autenticación, y para asegurar la comunicación entre el navegador y el servidor web. Cifra las solicitudes y respuestas HTTP para evitar que alguien rastree la información que se comparte entre su navegador y el servidor web. Sin HTTPS, alguien podría olfatear y recopilar información confidencial de los visitantes de su sitio web, como credenciales de inicio de sesión y detalles de tarjetas de crédito.

En este tutorial, le mostraremos cómo habilitar el protocolo HTTPS con Apache2 en nuestro Ubuntu VPS administrado. De forma predeterminada, si instala Apache en su servidor Ubuntu 20.04, creará un host virtual apache para el nombre de host de su servidor y solo escucha en el puerto no seguro (HTTP/80). Esto significa que si navega al nombre de host de su servidor usando un navegador web, verá la página predeterminada de Apache2 Ubuntu, y si accede a ella a través de HTTPS, arrojará un mensaje de error ya que Apache2 no está escuchando en el puerto 443 y no El certificado SSL está configurado.

Requisitos

  • Un servidor con Ubuntu 20.04 y Apache.
  • Un acceso de usuario root o un usuario normal con privilegios sudo.

Paso 1:Inicie sesión a través de SSH y actualice los paquetes

Inicie sesión en su Ubuntu 20.04 VPS a través de SSH:

ssh sshuser@IP_Address -p Port_number

Reemplace "sshuser" con un usuario que tenga privilegios sudo o root. Además, reemplace "IP_Address" y "Port_Number" con la dirección IP y el puerto SSH respectivos de su servidor.

Una vez que haya iniciado sesión, puede verificar si tiene instalada la versión adecuada de Ubuntu 20.04 en su servidor con el siguiente comando:

$ sudo lsb_release -a

Deberías obtener este resultado:

No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 20.04.3 LTS
Release: 20.04
Codename: focal

Luego, ejecute el siguiente comando para asegurarse de que todos los paquetes instalados en el servidor estén actualizados a sus últimas versiones disponibles:

$ sudo apt update && sudo apt upgrade

Esto asegura la compatibilidad entre paquetes.

Paso 2:habilitar Mod SSL

Antes de comenzar, debemos habilitar el módulo Apache SSL, ejecute este comando:

$ sudo a2enmod ssl

Como se ve en el mensaje después de ejecutar el comando, debemos reiniciar Apache para activar los cambios.

$ sudo systemctl restart apache2

Paso 3:Cree un certificado SSL autofirmado

Un certificado SSL autofirmado es una buena opción para elegir cuando está probando cosas en su servidor Apache. Si bien su certificado personal no significará nada para los navegadores, y los visitantes seguirán recibiendo un mensaje de advertencia si visitan su sitio directamente, al menos puede estar seguro de que está protegido contra ataques de "intermediarios". Si ya tiene un certificado SSL pagado, puede omitir este paso y continuar.

Ejecute este comando para generar un certificado SSL autofirmado.

$ sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/server.yourdomain.com.key -out /etc/ssl/certs/server.yourdomain.com.crt

Cuando ejecute el comando anterior, deberá responder a las indicaciones.

Country Name (2 letter code) [AU]:
State or Province Name (full name) [Some-State]:
Locality Name (eg, city) []:
Organization Name (eg, company) [Internet Widgits Pty Ltd]:
Organizational Unit Name (eg, section) []:
Common Name (e.g. server FQDN or YOUR name) []:
Email Address []:

Asegúrese de escribir el dominio/subdominio para el que desea instalar el certificado SSL. Por ejemplo, puede escribir servidor.sudominio.com

El comando anterior almacenará la clave privada en /etc/ssl/private/server.yourdomain.com.key y el archivo de certificado en /etc/ssl/certs/server.yourdomain.com.crt

Paso 4:habilite HTTPS e instale un certificado SSL

En este tutorial, utilizaremos un archivo de host virtual Apache independiente en lugar del archivo de configuración predeterminado. Suponemos que ya tiene un host virtual apache en funcionamiento para su dominio. Podemos ejecutar el siguiente comando para copiar el archivo de configuración yourdomain.com.conf a yourdomain.com-ssl.conf. Cambie sudominio.com a su propio archivo .conf en el comando para asegurarse de que se ejecuta correctamente.

$ sudo cp -a /etc/apache2/sites-available/yourdomain.com{.conf,-ssl.conf}

Editemos el nuevo archivo.

$ sudo nano /etc/apache2/sites-available/yourdomain.com-ssl.conf

Reemplazar

<VirtualHost *:80>  

en la primera línea con

<VirtualHost *:443>

Luego, agrega estas tres líneas:

SSLEngine on
SSLCertificateKeyFile /etc/ssl/private/server.yourdomain.com.key
SSLCertificateFile /etc/ssl/certs/server.yourdomain.com.crt

Guarde el archivo y luego salga.

Después de esto, debemos habilitar la versión SSL de su sitio. Podemos ejecutar este comando para habilitar el sitio:

$ sudo a2ensite yourdomain.com-ssl.conf

Por último, verifique su configuración de apache2 ejecutando este comando:

$ sudo apache2ctl -t

Si todo está bien, verá el mensaje "Syntax OK", puede reiniciar Apache.

$ sudo systemctl restart apache2

Tenga en cuenta que si ya tiene un certificado SSL pagado, puede editar el SSLCertificateKeyFile y Archivo de certificado SSL directivas y apúntelas a la ruta correcta de su archivo de certificado SSL y su clave privada.

También puede ejecutar el siguiente comando para verificar si la versión SSL de su sitio web está habilitada o no.

¡Eso es todo! Cuando Apache se reinicie, se configurará para permitir conexiones SSL utilizando los certificados SSL autofirmados generados. Cuando navegue a su sitio web a través de HTTPS, se le advertirá que no es un certificado confiable. Esta bien. ¡Lo sabemos porque lo firmamos nosotros mismos! Simplemente proceda y verá su sitio web real. Esto no sucederá si utiliza un certificado SSL de pago o un certificado SSL proporcionado por Letsencrypt.

¡Felicidades! En este punto, debería poder habilitar el protocolo HTTPS con Apache2 en Ubuntu 20.04.

Por supuesto, no tiene que saber cómo habilitar el protocolo HTTPS con Apache2 en Ubuntu 20.04 si tiene un VPS de Ubuntu 20.04 alojado con nosotros. Simplemente puede pedirle a nuestro equipo de soporte que habilite el protocolo HTTPS con Apache2 en Ubuntu 20.04 para usted. Están disponibles las 24 horas del día, los 7 días de la semana y podrán ayudarlo con la configuración del protocolo HTTPS.

PD. Si disfrutó leyendo esta publicación de blog sobre cómo habilitar el protocolo HTTPS con Apache2 en Ubuntu 20.04, siéntase libre de compartirla en las redes sociales usando los accesos directos a continuación, o simplemente deje un comentario en la sección de comentarios. Gracias.


Panels
  1. Cómo instalar Let's Encrypt en Ubuntu 20.04 con Apache

  2. Cómo asegurar Apache con Lets Encrypt en Ubuntu 18.04

  3. Cómo asegurar una conexión SSL con Apache en Ubuntu 18.04

  4. Cómo instalar Elasticsearch en Ubuntu 22.04 con SSL

  5. Cómo instalar JBoss AS 7 con SSL en Linux (habilitar HTTPS SSL en JBoss)

Cómo instalar Let's Encrypt SSL en Ubuntu con Apache

Cómo instalar Apache con Let's Encrypt SSL en Ubuntu 20.04 LTS

Cómo habilitar HTTP/2 con Apache en Ubuntu

Cómo instalar Apache Tomcat 10 en Ubuntu 20.04 con Nginx

Cómo instalar Apache Tomcat 10 en Ubuntu 22.04 con Nginx

Cómo instalar Apache en Ubuntu 22.04