miércoles, 9 de junio de 2021

Evitar contenido HTTP usando Apache con HTTPS



Cómo evitar mixed content warning en Apache.

Si servimos una web en HTTPS mediante Apache y esta enlaza a recursos como imágenes, css o JavaScript mediante links que usen HTTP, los navegadores no cargarán estos recursos.

Para evitar este problema, podemos configurar el siguiente código en el .htaccess:

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

Este encabezado indica al navegador web que "actualice" las solicitudes HTTP a HTTPS sin tener que tocar código en el sitio web, pero solo funciona en navegadores modernos.


Tocando código


Si podemos tocar código, deberíamos cambiar los enlaces de la siguiente manera:

1) Modificando todos los enlaces para cargar archivos a través de HTTPS:

<img src="https://ejemplo.com/imagen.png">

2) Alternativamente, se puede prescindir de http y https y dejar que el servidor elija el esquema:

<img src="//ejemplo.com/imagen.png">

3) Por último, podemos usar rutas relativas:

<img src="/imagen.png">

NOTA: "//" hace que el navegador utilice el mismo esquema de la URL actual, por lo que utilizará https:// en las páginas HTTPS y http:// en las páginas HTTP.
0

0 comentarios:

Publicar un comentario