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]
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]
```
```
-
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: //".