web

The request client is not a secure context and the resource is in more-private address space local.

Recientemente (al momento de escribir este post) Chrome se ha actualizado para ser más seguro, y en ocasiones nos va a lanzar el error que dice:

Access to fetch at ‘dominio’ from origin ‘otro_dominio’ has been blocked by CORS policy: The request client is not a secure context and the resource is in more-private address space local.

Es un error de CORS pero no de los errores que conocemos. Este es nuevo, y dice:

The request client is not a secure context and the resource is in more-private address space local.

Así que en este post te mostraré de qué va ese error y por qué me interesa.

Chrome bloquea solicitudes a localhost si no hay https

En palabras simples, lo que está pasando es lo que ves en el título. Obviamente esto tiene sus detalles y motivos explicados en este artículo.

Básicamente si no estás en un contexto seguro (un sitio con https o en localhost), tu app web no puede hacer llamadas (usando fetch por ejemplo) a localhost en un puerto distinto.

La solución es cambiarse a https. Así de simple, y no recomiendo otra manera de solucionarlo.

El problema con el plugin de impresión

Hace un tiempo hice un plugin para imprimir en impresoras térmicas desde JavaScript sin pedir confirmación.

El plugin crea un servidor local en localhost:8000 y acepta todas las peticiones desde otros sitios web, permitiendo que se imprima a través de solicitudes HTTP.

Aquí el problema es que si el sitio desde donde imprimes no es seguro, entonces no podrá invocar a mi plugin. Y en ese caso no puedo hacer nada, pues no depende de mí que tu sitio sea o no seguro.

La solución, como ya lo dije, es actualizar tu sitio a https o usar localhost. Así de simple, y no necesitas cambiar nada del código de impresión ni el plugin en sí.

El único problema que veo es con las IPs locales, pero no he tenido la oportunidad de probar el comportamiento.

De igual forma no te recomiendo mantener tu navegador desactualizado. Las actualizaciones de seguridad siempre son importantes, y somos nosotros quienes nos debemos adaptar a ellas.

Estoy aquí para ayudarte 🤝💻


Estoy aquí para ayudarte en todo lo que necesites. Si requieres alguna modificación en lo presentado en este post, deseas asistencia con tu tarea, proyecto o precisas desarrollar un software a medida, no dudes en contactarme. Estoy comprometido a brindarte el apoyo necesario para que logres tus objetivos. Mi correo es parzibyte(arroba)gmail.com, estoy como@parzibyte en Telegram o en mi página de contacto

No te pierdas ninguno de mis posts 🚀🔔

Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.
parzibyte

Programador freelancer listo para trabajar contigo. Aplicaciones web, móviles y de escritorio. PHP, Java, Go, Python, JavaScript, Kotlin y más :) https://parzibyte.me/blog/software-creado-por-parzibyte/

Ver comentarios

  • Buenas tardes,

    Me gusto lo que pusiste en el Blog, tarde o tempranos todos debemos actualizarnos para bien.

    Quería saber si hay una forma de solucionarlo agregando CORS al servidor y al cliente por mientras para que siga funcionando hasta poder actualizar y funcione debidamente.

    Gracias

    • Lo único que se me ocurre es cambiar de navegador. Creo que Firefox todavía acepta esas peticiones al momento de escribir este comentario

  • Como va Parzi, comentarte, a mi me daba un error de este tipo cuando intentaba hacer una XMLHttpRequest POST a un web service SOAP desde Chrome, no asi desde Microsoft Explorer, intentando conectar al web service desde Javascript, días después pude integrar el cliente Soap desde PHP y no surgió más el problema.

    Saludos, muy bueno el blog!

Entradas recientes

Creador de credenciales web – Aplicación gratuita

Hoy te voy a presentar un creador de credenciales que acabo de programar y que…

1 semana hace

Desplegar PWA creada con Vue 3, Vite y SQLite3 en Apache

Ya te enseñé cómo convertir una aplicación web de Vue 3 en una PWA. Al…

2 semanas hace

Arquitectura para wasm con Go, Vue 3, Pinia y Vite

En este artículo voy a documentar la arquitectura que yo utilizo al trabajar con WebAssembly…

2 semanas hace

Vue 3 y Vite: crear PWA (Progressive Web App)

En un artículo anterior te enseñé a crear un PWA. Al final, cualquier aplicación que…

2 semanas hace

Errores de Comlink y algunas soluciones

Al usar Comlink para trabajar con los workers usando JavaScript me han aparecido algunos errores…

2 semanas hace

Esperar promesa para inicializar Store de Pinia con Vue 3

En este artículo te voy a enseñar cómo usar un "top level await" esperando a…

2 semanas hace

Esta web usa cookies.