Redirigir automáticamente a conexión segura 'https'
Por defecto, al instalar un certificado SSL, las visitas a la versión no segura de tu web (http://www.tudominio.com) no se redirigen automáticamente a la versión segura (https://www.tudominio.com).
A continuación, te mostramos varias formas de configurar la redirección automática de HTTP (puerto 80) a HTTPS (puerto 443).
Mediante archivo ".htaccess" en Apache
Si tu servidor utiliza Apache (la mayoría de los casos), esta es la forma más rápida y sencilla:
- Conéctate vía FTP al directorio
datos/weby localiza el archivo.htaccess. Si no existe, créalo. - Añade las siguientes líneas al archivo:
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R,L]
- Guarda los cambios.
Aviso: Algunos CMS, como WordPress, modifican
.htaccessautomáticamente. En estos casos, configura la redirección desde el panel de tu CMS o utiliza otro método de esta guía.
Modificando Virtual Host (vhost) en Apache
Si tienes acceso root a tu servidor:
- Conéctate vía SSH.
- Muestra la configuración de Virtual Hosts con:
apache2ctl -S - Identifica el bloque correspondiente al puerto 80 para tu dominio. Por ejemplo:
*:80 is a NameVirtualHost
port 80 namevhost swpanel.com (/etc/apache2/sites-enabled/swpanel.com.conf:2)
alias www.swpanel.com
- Edita el archivo de configuración indicado (ejemplo con
nano):
nano /etc/apache2/sites-enabled/swpanel.com.conf
- Localiza el bloque del puerto 80 y añade las líneas de redirección antes de
</VirtualHost>:
<VirtualHost *:80>
ServerName swpanel.com
ServerAlias www.swpanel.com
DocumentRoot "/var/www/swpanel.com/datos/web"
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R,L]
</VirtualHost>
- Guarda los cambios (
Ctrl + X, luegoYyEnter). - Comprueba la configuración:
apache2ctl -t
Debe aparecer: Syntax OK.
- Recarga Apache para aplicar los cambios:
/etc/init.d/apache2 graceful
/etc/init.d/apache2 graceful
Accede a tu dominio con http:// para comprobar que redirige automáticamente a https://.
Modificando Virtual Host (vhost) en Nginx
Si tu servidor utiliza Nginx y tienes acceso root:
- Conéctate vía SSH.
- Accede al directorio de Virtual Hosts:
cd /etc/nginx/sites-enabled
ls
- Edita el archivo correspondiente al dominio (ejemplo con
nano):
nano /etc/nginx/sites-enabled/swpanel.com.conf
- Localiza el bloque del puerto 80 y añade la línea de redirección:
server {
listen 80;
root "/var/www/swpanel.com/datos/web";
index index.html index.php;
server_name swpanel.com www.swpanel.com;
return 301 https://$server_name$request_uri;
}
- Guarda los cambios (
Ctrl + X, luegoYyEnter). - Comprueba la configuración:
nginx -t
Debe aparecer algo como:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
- Recarga Nginx para aplicar los cambios:
/etc/init.d/nginx reload
Accede a tu dominio con http:// para comprobar que redirige automáticamente a https://.