· Tutorial ·

Redirigir automàticament una connexió segura 'https'

Per defecte, un cop instal·lat el certificat SSL, les visites a la versió no segura ("http: //www.elteudomini.com") no seran automàticament redirigides a la versió segura ("https: //www.elteudomini.com ").

T'indiquem diverses formes de configurar la redirecció automàtica a "https", o dit d'una altra manera, de port 80 (http) a port 443 (https).

Mitjançant arxiu ".htaccess" a Apache

Aquesta és la forma més ràpida i senzilla de fer-ho en el cas d'estar utilitzant un servidor Apache (la majoria). Anem a configurar la redirecció afegint les línies que a continuació t'indicarem a l'arxiu ".htaccess". Per a això:

  • Connecta't via FTP al directori "/dades/web/" i edita l'arxiu ". Htaccess". Si no existeix, crea'l.

  • Afegeix les següents línies:

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R,L]
  • Desa els canvis

Avís: Alguns gestors de contingut (CMS), com WordPress, modifiquen l'arxiu ".htaccess" amb la seva pròpia configuració. En aquests casos, hauràs de configurar la redirecció en el seu panell de configuració o utilitzar algun dels següents mètodes.

Modificant Virtual Host (vhost) a Apache

Si disposes d'un Cloud amb accés "root", pots optar per configurar la redirecció modificant el Virtual Host a Apache:

  • Connecta't via SSH al teu servidor.

  • Introdueix la següent ordre per mostrar la configuració actual de Virtual Hosts: apache2ctl -S

  • Del bloc corresponent al port 80, copia la ruta de l'arxiu que es correspongui amb la web a la qual aplicaràs la redirecció. Com a exemple, ens fixarem en el domini "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 aquest cas, la ruta és: /etc/apache2/sites-enabled/swhosting.com.conf

  • Edita el fitxer de configuració anterior. En aquest exemple utilitzem l'editor de textos nano, però pots fer ús de qualsevol altre: nano /etc/apache2/sites-enables/swhosting.com.conf

  • Apareix un primer bloc corresponent al port 80 (http):

    ServerName swhosting.com
    ServerAlias www.swhosting.com
    DocumentRoot "/var/www/swhosting.com/datos/web"
    
```
  • Afegim les següents línies abans del tancament "<​/VirtualHost>":

RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R,L] ```

  • Quedant de la següent manera:
    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]
    
```
  • Guardem els canvis realitzats. A l'editor de textos nano, has de prémer Ctrl + X per guardar i sortir, Tecla Y per confirmar que vols sobreescriure, i Tecla Enter

  • Comprovem que la configuració és correcta: apache2ctl -t Ha d'aparèixer Syntax OK. Si ens indica algun error, repassa els passos anteriors.

  • Recarreguem la configuració d'Apache perquè s'apliquin els canvis: /etc/init.d/apache2 graceful

A continuació, accedeix al teu domini amb el prefix "http: //" per comprovar si automàticament redirigeix a "https: //".

Modificant Virtual Host (vhost) a Nginx

Si disposes d'un Cloud amb accés "root", pots optar per configurar la redirecció modificant el Virtual Host a Nginx:

  • Connecta't via SSH al teu servidor.

  • Accedim al directori en el qual es troba l'arxiu de configuració del Virtual Host i llistem el contingut. Habitualment: cd /etc/nginx/sites-enabled ls

  • Editem l'arxiu que es correspongui amb el Virtual Host per al que anem a aplicar la redirecció a "https". En aquest exemple utilitzem l'editor de textos nano, però pots fer ús de qualsevol altre: nano /etc/nginx/sites-enabled/swhosting.com.conf

  • Apareix un primer bloc corresponent al port 80 (http):

        listen 80;
        root "/var/www/swhosting.com/datos/web";
        index index.html index.php;
        server_name swhosting.com www.swhosting.com;
    
    
  • Afegim la següent línia:

  • Quedant de la següent manera:

        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;
    
    
  • Guardem els canvis realitzats. A l'editor de textos nano, has de prémer: Ctrl + X per guardar i sortir, Tecla Y per confirmar que vols sobreescriure, i Tecla Enter

  • Comprovem que la configuració és correcta: nginx -t Si tot és correcte, apareix alguna cosa similar a:

    ginx: configuration file /etc/nginx/nginx.conf test is successful
    

Si ens indica algun error, repassa els passos anteriors.

  • Recarreguem la configuració de Nginx perquè s'apliquin els canvis: /etc/init.d/nginx reload

A continuació, accedeix al teu domini amb el prefix "http: //" per comprovar si automàticament redirigeix a "https: //".

i