HTTPS. SSL con Let’s Encrypt

HTTPS significa protocolo seguro de transferencia de hipertexto. Google, el buscador que casi todos utilizamos, nos indica cuándo una página web que estamos visitando es segura o no.

También se comenta que es un factor SEO que tiene en cuenta para posicionar nuestra página.

Además, resulta imprescindible para incluir pasarelas de pago, que toda tienda online necesita.

El primer problema es el precio de una certificación SSL, sobre todo cuando uno anda más tieso que la mojama.

Finalmente, yo dispongo de un servidor virtual (VPS) contratado con Strato. Me resulta muy económico, pero el servicio técnico es nulo, y aquí es cuando lo de ‘Error xxx. Consulte con su administrador’ te pone los pelos de punta.

Bien, ya tenemos el cóctel de factores. Por esa razón, había dilatado la consecución del certificado SSL en el tiempo. Pero todo tiene un fin.

Quiero que mi sitio aparezca como “https://sergiotoca.com”

Me marqué como uno de los objetivos de este mes de enero la consecución del certificado SSL. Me puse en ello justo después de conseguir lanzar mis nuevos plugins STM Gallery y STM WooCommerce Gallery.

 

Prueba 1. Certificado SSL gratuito de STRATO

Bien. El pasado lunes, me puse manos a la obra. Lógicamente, primero vamos a intentarlo con tu IPS, que en mi caso es STRATO. Realmente, tiene una opción:

Lo activo, realizo las modificaciones en wp-config.php, actualizo las direcciones en Ajustes  -> Generales y, por si acaso, guardo los cambios en Ajustes -> Enlaces permanentes. Finalmente, los cambios pertinentes en htaccess.

¡Tachán! ¡Y una mierda! No funciona el servidor ssl-id1.de.

Tranquilo, Sergio, probemos suerte con el “Servicio Técnico”. ¡Tachán! ¡Y otra mierda! Lo sentimos mucho, nosotros no podemos entrar en su Plesk, nosotros no damos soporte del servidor…

Así que sólo me quedaba desandar lo andado y probar en otro momento.

 

Prueba 2. Ayuda WordPress

Por suerte, buscando por la red encontré el artículo de Ayuda WordPress, ‘Let’s Encrypt, certificados SSL libres y gratis…’. En él, Fernando Tellado (gracias, majete, por la broma del pasado 28 de diciembre, yo también caí) explica cómo instalar el certificado SSL gratis Let’s Encrypt en tu servidor.

Manos a la obra, conectamos vía SSH con Putty con el servidor, y seguimos las instrucciones mediante los comandos de consola que indica el artículo. En este punto, debo reconocer que cada vez que entro en el servidor vía SSH sufro un cierto desorden en mi estómago.

Afortunadamente, la instalación del certificado funciona correctamente. Por lo tanto, otra vez realizo las modificaciones en wp-config.php, en los Ajustes de WordPress y en el archivo htaccess.

¡Tachán! ¡Otra mierda! Me indica que no es https y, como resultado, no es seguro. Todo ello en rojo y tachado.

¿Porqué? Aunque haya instalado correctamente el certificado SSL, y haya redireccionado en htaccess, el VPS es gestionado por Plesk de ODIN, y Plesk, según tengo entendido, establece qué aplicaciones se ejecutan en Ubuntu. No me preguntéis cómo ni porqué, ya que no soy muy entendido en la materia, pero creo que por ahí van los tiros.

Por ese motivo, pensé que la solución me la daría Plesk.

 

Prueba 3. Plesk incorpora Let’s Encrypt

Si tengo instalado el certificado en el servidor, quizá sólo me quede indicárselo a Plesk, para que así él lo active.

Plesk es un programa que domino muy poco, y cada vez que tengo que entrar es para mi un suplicio. No entiendo muy bien cómo funciona, aún llevando algo más de un año con él.

Así que, me he puesto a buscar, todo lo tranquilo que he podido, cómo activar el certificado, bien por las opciones de Apache, bien por las de Nginx, hasta que al final he buscado en ‘Extensiones’. Aquí hay un sub-apartado ‘Catálogo de extensiones’ y ¡eureka!, la primera de todas es ‘Let’s Encrypt 1.9’.

Una vez la instalas, la tienes disponible para todos los dominios que gestiones. Simplemente la tienes que activar en cada dominio.

Certificado SSL Let's Encrypt
Certificado SSL Let’s Encrypt

A continuación, tenemos que realizar los cambios en wp-config.php, añadiendo

También hemos de añadir al fichero .httaccess el siguiente código:

Finalmente, cambiamos las direcciones http a https del sitio en ‘Ajustes’ -> ‘Generales’ y volvemos a ‘Guardar los cambios’ (sin cambiar nada, simplemente clickando el botón) en ‘Ajustes’ -> ‘Enlaces permanentes’.

El último ajuste

Pero, hete aquí que, al visualizar la página, observo que no se muestran las imágenes ni se carga el CSS (y, seguramente, no se ejecuta el código JavaScript). Sin nervios, debe ser algún re-direccionamiento intercalado en algún punto, que se me ha pasado por alto.

Efectivamente, en el archivo .htaccess hace tiempo incluí el siguiente código para evitar ‘hotlinking’:

Este código es para evitar redireccionamientos de imágenes, básicamente, desde otras páginas, que cargarían el tráfico de mi servidor. Observamos que en la quinta línea aparece mi dominio, pero con ‘http’. Cambiamos a https y listo.

 

Conclusiones

Cuando te dedicas a la programación web, te encuentras como ‘pez en el agua’ en el entorno de WordPress.

Si tienes un hosting normal, te encuentras supeditado a la configuración que tu ISP tenga establecida, aunque los problemas quedan para él. Sin embargo, al ser tú tu propio ISP, te ves obligado a resolver problemas por tu cuenta y riesgo, con los probables inconvenientes que ello te acarreará, pero te permite un mayor control sobre el funcionamiento de tu website.

Conseguir ver el inicio de mi url con https, en lugar de http para mi ha sido un gran avance, desde el punto de vista de administrador de sistemas, lo que me anima a llegar más lejos.

Una respuesta a “HTTPS. SSL con Let’s Encrypt”

  1. Hola Sergio, muchas gracias por tu aportación. Justo la próxima semana voy a contartar un VPS de STRATO (VPS Linux V50). Al igual que tu estoy interesado en pasar de http a https. He contactado con el servicio de atención al cliente y concretamente me han dicho lo siguiente: “Siento decirle que no es posible instalar la extensión “LET’S ENCRYPT 1.5″ en plesk pues no brindamos esta licencia con las licencias de PLESK que tenemos disponibles para nuestros clientes.”. Al ver tu articulo me he quedado con la boca habierta… Pues, la proxima semana, una vez que tenga el VPS contratado lo primero que haré es instalar LET’S ENCRYPT. A ver si funciona. Lo que no he entendido es lo siguiente: Además de seguir los pasos que indicas en tu punto PRUEBA 3, necesito seguir los pasos indicados también en tu punto PRUEBA 2 (ayudawp de Fernando Tellado). Es decir, aunque la prueba 2 no fue bien, no he entendido si es necessario realizar esos pasos de la PRUEBA 2 para hacer que la PRUEBA 3 vaya a buen fin. De hecho encuentro muy estraño que desde STRATO se me diga que LET’S ENCRYPT no funciona en sus VPS y entonces intuyo que quizá hay que realizar esos cambios en el servidor (indicados por Fernando Tellado) para que todo funciones. Pero puede que estoy equivocado… En fin Hazme saber algo más que tendria que saber y la proxima semana voy ha poner otro comentario confirmandote si he conseguido convertir mi web de http a https. Una vez más, gracias por tu post. Quedo a la espera de tu respuesta.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *