· Tutorial ·

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:

  1. Conéctate vía FTP al directorio datos/web y localiza el archivo .htaccess. Si no existe, créalo.
  2. Añade las siguientes líneas al archivo:
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R,L]
  1. Guarda los cambios.

Aviso: Algunos CMS, como WordPress, modifican .htaccess automá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:

  1. Conéctate vía SSH.
  2. Muestra la configuración de Virtual Hosts con: apache2ctl -S
  3. 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
  1. Edita el archivo de configuración indicado (ejemplo con nano):
nano /etc/apache2/sites-enabled/swpanel.com.conf
  1. 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>
  1. Guarda los cambios (Ctrl + X, luego Y y Enter).
  2. Comprueba la configuración:
apache2ctl -t

Debe aparecer: Syntax OK.

  1. 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:

  1. Conéctate vía SSH.
  2. Accede al directorio de Virtual Hosts:
cd /etc/nginx/sites-enabled  
ls
  1. Edita el archivo correspondiente al dominio (ejemplo con nano):
nano /etc/nginx/sites-enabled/swpanel.com.conf
  1. 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;
}
  1. Guarda los cambios (Ctrl + X, luego Y y Enter).
  2. 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
  1. 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://.

i
Email send icon