El protocolo https es la versión segura del protocolo http, al que estamos acostumbrados por ser el más usado en la mayoría de sitios web, y nos proporciona una capa segura – en la que los datos desde nuestro dispositivo hasta el servidor en la web están cifrados punto a punto – que nos protege en buena medida de las escuchas o intercepciones de datos por parte de terceros, con malas intenciones en la mayoría de los casos…
Aviso a navegantes https:
La seguridad en cualquier ámbito de la vida, y no digamos en internet, depende en buena medida del sentido común de cada cual, y del uso que hagamos de las tecnologías que tengamos a mano en cada momento…
Una web como la de imagen, de existir, nos proporciona una capa segura de transmisión de datos que nos garantiza que estos no son interceptados por el camino, pero el uso que el administrador de dicha web haga de ellos está fuera de nuestro control, y no están más seguros que si hubiéramos usado un simple protocolo http o los hubiéramos escrito en un folio y pegado este en una pared de la estación de autobuses…
Cómo pasar nuestro sitio de http a https
Para pasar nuestro sitio de http a https solo hemos de seguir unos pocos pasos, muy importantes, eso sí, pero siendo metódicos y pacientes nos resultará de lo más «sencillo».
Por cierto, yo tengo contratado un hosting SSD3 de Hostinet a muy buen precio…
El primero de los pasos y el más importante de todos es realizar una copia de seguridad del sitio. Y tan importante como esto es comprobar que dicha copia no se ha corrompido durante la descarga, porque una copia de seguridad del servidor, guardada en el propio servidor, es algo bastante inútil. Esto vale para todos los casos, y no solo para el que nos ocupa.
» Tener un certificado SSL correspondiente al dominio deseado e instalarlo en nuestro servidor.
» Hacer el cambio de http a https en la configuración general de WordPress, en su caso. Este cambio se puede confirmar en el archivo «wp-config» dentro de la carpeta de instalación de WordPress…
» Sustituir en las url de nuestro sitio o blog WordPress las referencias http por https.
http://nuestrodominio.com y http://www.nuestrodominio.com
https://nuestrodominio.com y https://www.nuestrodominio.com
Puesto que acceder a una base de datos WordPress, por poner un caso, para realizar los cambios resultaría de lo más tedioso, amén de peligroso, lo mejor es instalar un plugin de los varios que existen, que también conlleva su peligro, pero más controlado… Yo he usado Better Search Replace y no me ha ido mal, pero hay varios entre los que elegir…
Importante:
Sustituir solo en aquellas url que contengan alguna referencia a nuestro dominio, como las de arriba: ya sea .com, .es, .eu, etc., siempre que coincida con el certificado SSL, pero a nuestro dominio y no a otro al que podamos estar enlazando, porque nos daría errores si estos otros dominios no tuviesen https habilitado.
» Añadir unas líneas en el archivo «htaccess» de la raíz de nuestro sitio con las indicaciones necesarias para que el servidor redirija todos los enlaces entrantes con http hacia https…
Editamos el archivo «htaccess», o lo creamos de no existir, para lo que podemos usar Filezilla o similar, tomando las precauciones mencionadas: copia de seguridad, etc. e insertamos al inicio de este las siguientes líneas:
RewriteEngine on RewriteBase / RewriteCond %{SERVER_PORT} 80 RewriteRule ^(.*)$ https://lesidea.com/$1 [R,L] #Como es lógico, hemos de sustituir lesidea.com por nuestrodominio.com #o www.nuestrodominio.com, lo que nos convenga... #RewriteBase / indica que la búsqueda se realice desde la base de nuestro sitio, #es decir, después del .com o .es, etc. de la url de entrada a nuestra web que #haya escrito el usuario. #RewriteRule devuelve la url indicada, en este caso: https://lesidea.com/, más #cualquier cadena encontrada después de la base "/" anteriormente indicada, #en lugar de "$1, "extraída de la url pasada por el usuario al acceder a nuestra web... #Por ejemplo "cajondesastre", de "https://lesidea.com/cajondesastre", y devolverá #"https://lesidea.com/cajondesastre".
Aunque, no nos engañemos, estas redirecciones no sirven en WordPress, y lo comprobamos de inmediato al comprobar que no redireccionan las url http a https, porque WordPress escribe su propio «htaccess» en su carpeta de instalación, totalmente necesario, y se va a pasar por el arco del triunfo todo lo demás…
DirectoryIndex index.php #BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase /cajondesastre/ RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /cajondesastre/index\.php [L] </IfModule> # END WordPress
Pero, tranquilidad, porque me he pegado un cabreo tras otro hasta dar con una solución, una redirección 301, que añadida al «htaccess» de la carpeta WordPress nos va a redirigir estas url a las mismas url con https…
DirectoryIndex index.php <IfModule mod_rewrite.c> RewriteEngine On RewriteBase /cajondesastre RewriteCond %{HTTPS} =off RewriteRule ^(.*)$ https://lesidea.com/cajondesastre/$1 [R=301,L] </IfModule> #BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase /cajondesastre/ RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /cajondesastre/index\.php [L] </IfModule> # END WordPress
Evidentemente, hay que sustituir «lesidea.com/cajondesastre» por «tudominio.loquesea», a lo que la variable «$1» añadirá el resto de la url pasada para completar el enlace de forma correcta.
Conclusión
Si hemos sido metódicos, pacientes y optimistas, habremos pasado nuestro blog WordPress, u otra página web sin lo referente a este, de http a https sin grandes dificultades. Todavía quedarán algunos flecos, como ciertos enlaces http que tendremos que cambiar a mano, o buscar alternativas a estos, pero con un poco de paciencia más tendremos el ansiado candado verde en la barra de direcciones de nuestros usuarios…