Hace pocos días Google anunciaba que iba a empezar a "castigar" a determinados sitios que no empleasen el protocolo HTTPS en sus comunicaciones, especialmente aquellos que implicasen transferencia de datos sensibles con el visitante.
Si tenemos nuestro sitio web alojado en un hosting convencional, seguramente tengamos acceso a éste tanto a través de HTTP como de HTTPS, es decir, podemos acceder a nuestra web tanto a través del puerto 80 como del 443. En el caso de que nuestro proveedor no lo haga de manera predeterminada en la prestación de su producto, lo podemos contratar junto con la emisión del certificado digital necesario para poder habilitar un sitio seguro.
En el caso de que tengamos el sitio auto-alojado podemos crear un certificado digital nosotros mismo empleando para ello Let's Encrypt. Una vez tengamos el certificado crearemos un virtualhost de nuestro sitio para el puerto 443. Una de las formas más fáciles de forzar la entrada por HTTPS es hacer un redireccionamiento desde el virtualhost con el puerto 80 al del puerto 443, pero esto puede crear algunos problemas en Google, otros buscadores y navegadores web, pudiendo bloquear la entrada al sitio si encuentran un número excesivo de este tipo de redireccionamientos.
La forma más "limpia" de forzar HTTPS en nuestro sitio es hacerlo mediante el archivo .htaccess, a través del cual indicaremos que HTTP tiene que ser sustituido por HTTPS. Existen varias maneras de realizar esta acción, pero en nuestro caso en particular, con DRUPAL, sólo nos ha funcionado la que indicamos a continuación:
# Redirect to HTTPS
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Estas dos líneas de código las insertaremos en nuestro archivo .htaccess justo debajo de RewriteEngine on y ya está. A partir de este momento, cada vez que entremos en nuestro sitio de Drupal lo haremos mediante el protocolo HTTPS, independientemente del PATH empleado para ello.
Añadir nuevo comentario