Inicio | Blog

Reemplazar http a https, configuración certificado de seguridad SSL

lunes 18 de noviembre, 2019


Un problema común después de agregar un certificado SSL es que su navegador aún muestra su sitio como inseguro. Esto ocurre con mayor frecuencia porque hay enlaces en su página que todavía apuntan a HTTP en lugar de HTTPS. Por ejemplo, mire el siguiente código para vincular una imagen.

<img src=» http://www.example.com/images/pic_mountain.jpg » alt=»Mountain View» />

Observe cómo la URL está directamente vinculada con ‘http’ al principio. Al visitar el sitio en Firefox, se muestra lo siguiente:

Puede ver que el ícono del candado en la esquina superior izquierda del navegador muestra un ícono de advertencia.

Causa de este error

Si hace clic en el icono de advertencia, el texto explica que hay «elementos sin cifrar» en la página que está viendo.

En el ejemplo anterior, esto sucede porque la imagen se vinculó usando ‘HTTP’ y no ‘HTTPS’. Otra forma de confirmar lo que en su sitio está vinculado de forma insegura es utilizar el siguiente sitio: whynopadlock.com

Arreglando enlaces no encriptados

Hay tres soluciones:

Usa enlaces absolutos

Los enlaces absolutos son la ubicación completa de la URL de su archivo. Esto incluye el nombre de dominio. Por ejemplo:

Opción 1:

<img src =»https://www.example.com/images/pic_mountain.jpg» alt=»Mountain View» />

Usar enlaces relativos

Los enlaces relativos no incluyen el nombre de dominio. Estos enlaces apuntan a un archivo local en su lugar. Por ejemplo:

Opción 2:

<img src=»images/pic_mountain.jpg» alt=»Mountain View» />

Resolver la advertencia agregando código a su archivo .htaccess

En lugar de actualizar manualmente los enlaces en su código, puede agregar las siguientes líneas al archivo .htaccess de su sitio.

Opción 3:

<ifModule mod_headers.c>
Header always set Content-Security-Policy "upgrade-insecure requests;" 
</IfModule>
 

Forzar un dominio para que sirva de forma segura usando HTTPS (para cualquier sitio):

Lo que vas a ver a continuación, fuerza a cualquier requerimiento http a ser reescrito usando https. Por ejemplo, el siguiente código fuerza el requerimiento http://example.com a cargar https://example.com. Esto también fuerza a los recursos vinculados directamente (imágenes, css, etc.) a usar https:

RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301,NE] 

Forzar HTTPS con WordPress:

Opción 1:

RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301,NE]

Opción 2: En este ejemplo, asegúrate de cambiar “example.com” a tu dominio.

RewriteEngine On 
RewriteCond %{SERVER_PORT} 80 
RewriteRule ^(.*)$ https://www.example.com/$1 [R=301,L,NE]