Por defecto, una vez instalado tu certificado SSL, las visitas a la versión no segura ("http://www.tudominio.com") no serán automáticamente redirigidas a la versión segura ("https://www.tudominio.com").
Te indicamos varias formas de configurar la redirección automática a "https", o dicho de otra forma, de puerto 80 (http) a puerto 443 (https).
Esta es la forma más rápida y sencilla de hacerlo en el caso de estar utilizando un servidor Apache (la mayoría). Vamos a configurar la redirección añadiendo las líneas que a continuación te indicaremos en el archivo ".htaccess". Para ello:
Conéctate vía FTP al directorio "/datos/web/" y edita el archivo ".htaccess". Si no existe, créalo.
Añade las siguientes líneas:
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R,L]
Aviso: Algunos gestores de contenido (CMS), como WordPress, modifican el archivo ".htaccess" con su propia configuración. En estos casos deberás configurar la redirección en su panel de configuración o utilizar alguno de los siguientes métodos.
Si dispones de un Cloud con acceso "root", puedes optar por configurar la redirección modificando el Virtual Host en Apache:
Conéctate vía SSH a tu servidor.
Introduce el siguiente comando para mostrar la configuración actual de Virtual Hosts:
apache2ctl -S
Del bloque correspondiente al puerto 80, copia la ruta del archivo que se corresponda con la web a la cual vas a aplicar la redirección. A modo de ejemplo, nos fijaremos en el dominio "swhosting.com":
VirtualHost configuration:
*:80 is a NameVirtualHost
default server cm2019012345678.dnssw.net (/etc/apache2/sites-enabled/000-default.conf:17)
port 80 namevhost cm2019012345678.dnssw.net (/etc/apache2/sites-enabled/000-default.conf:17)
port 80 namevhost swhosting.com (/etc/apache2/sites-enabled/swhosting.com.conf:2)
alias www.swhosting.com
En este caso, la ruta es:
/etc/apache2/sites-enabled/swhosting.com.conf
Edita el archivo de configuración anterior. En este ejemplo utilizamos el editor de textos nano, pero puedes hacer uso de cualquier otro:
nano /etc/apache2/sites-enables/swhosting.com.conf
Aparece un primer bloque correspondiente al puerto 80 (http):
<VirtualHost *:80>
ServerName swhosting.com
ServerAlias www.swhosting.com
DocumentRoot "/var/www/swhosting.com/datos/web"
</VirtualHost>
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R,L]
<VirtualHost *:80>
ServerName swhosting.com
ServerAlias www.swhosting.com
DocumentRoot "/var/www/swhosting.com/datos/web"
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R,L]
</VirtualHost>
Guardamos los cambios realizados. En el editor de textos nano, debes pulsar Ctrl + X
para guardar y salir, Tecla Y
para confirmar que quieres sobrescribir, y Tecla Enter
Comprobamos que la configuración es correcta:
apache2ctl -t
Tiene que aparecer Syntax OK. Si se indica algún error, repasa los pasos anteriores.
Recargamos la configuración de Apache para que se apliquen los cambios:
/etc/init.d/apache2 graceful
A continuación, accede a tu dominio con el prefijo "http://" para comprobar si automáticamente redirige a "https://".
Si dispones de un Cloud con acceso "root", puedes optar por configurar la redirección modificando el Virtual Host en Nginx:
Conéctate vía SSH a tu servidor.
Accedemos al directorio en el que se encuentra el archivo de configuración del Virtual Host y listamos el contenido. Habitualmente:
cd /etc/nginx/sites-enabled
ls
Editamos el archivo que se corresponda con el Virtual Host para el que vamos a aplicar la redirección a "https". En este ejemplo utilizamos el editor de textos nano, pero puedes hacer uso de cualquier otro:
nano /etc/nginx/sites-enabled/swhosting.com.conf
Aparece un primer bloque correspondiente al puerto 80 (http):
server {
listen 80;
root "/var/www/swhosting.com/datos/web";
index index.html index.php;
server_name swhosting.com www.swhosting.com;
}
return 301 https://$server_name$request_uri;
server {
listen 80;
root "/var/www/swhosting.com/datos/web";
index index.html index.php;
server_name swhosting.com www.swhosting.com;
return 301 https://$server_name$request_uri;
}
Guardamos los cambios realizados. En el editor de textos nano, debes pulsar Ctrl + X
para guardar y salir, Tecla Y
para confirmar que quieres sobrescribir, y Tecla Enter
Comprobamos que la configuración es correcta:
nginx -t
Si todo es correcto, aparece algo similar a:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Si se indica algún error, repasa los pasos anteriores.
/etc/init.d/nginx reload
A continuación, accede a tu dominio con el prefijo "http://" para comprobar si automáticamente redirige a "https://".