Si tras configurar el dominio en nuestra imagen de Magento quieres configurar tu tienda como un sitio seguro con un certificado SSL, lo que debes de hacer es seguir los pasos que te contamos a continuación.
Lo que haremos será instalar Certbot para instalar un certificado gratuito de Let’s Encrypt. Para realizar estos pasos será necesario que nos conectemos por SSH al servidor de Magento que hemos creado y configurarlo tal y como se explica a continuación.
Primeros pasos
Si has configurado un dominio, lo que deberás de hacer es ir de nuevo a Stores > Configuration > General > Web y aquí modificar el valor Base URLs (Secure) y añadir tu dominio con HTTPS:
Tras guardar, cargará con HTTP, ahora es el momento de configurar el servidor web para que funcione con HTTPS.
Instalación manual del certificado SSL
Primero de todo tendremos que instalar CertBot:
# apt install certbot python3-certbot-nginx -y
Luego deberemos de modificar el fichero de configuración de Nginx que se encuentra en /etc/nginx/sites-enabled/default y lo editamos
# nano /etc/nginx/sites-enabled/default
Tenemos que cambiar esto:
server_name ubuntu-2004-image;
Por esto (añadir con www es opcional, no es necesario):
server_name midominio.es www.midominio.es;
Guardamos y reiniciamos el servicio Nginx:
# systemctl restart nginx
Y finalmente, generamos el certificado con lo siguiente:
# certbot --authenticator webroot -w /var/www/html/magento2/ --redirect --installer nginx -d midominio.es
Si habéis añadido www, deberéis de ejecutar este:
# certbot --authenticator webroot -w /var/www/html/magento2/ --redirect --installer nginx -d midominio.es -d www.midominio.es
Instalación automática del certificado SSL
Para automatizar todo el proceso, hemos creado un script para ejecutar la instalación con un solo comando. Este script se debe de utilizar de la siguiente forma:
# wget https://gitlab.com/clouding.io-tech.support/certbot-ssl-images/raw/master/magento2-nginx-ssl.sh
# chmod u+x magento2-nginx-ssl.sh
Y para generar el certificado:
# ./magento2-nginx-ssl.sh [domain] [e-mail]
Por ejemplo:
# ./magento2-nginx-ssl.sh clouding.io no-reply@clouding.io
El e-mail debe ser un e-mail que esté operativo y el dominio debe de apuntar al servidor.