Tengo un servidor web que ejecuta un servidor de nodos que se ejecuta en un servidor. El servidor de nodo configuró en el encabezado de respuesta 'Control de acceso' a un sitio web específico para permitir que solo ese sitio web acceda a los recursos servidos por mi servidor de nodo:
header["Access-Control-Allow-Origin"] = "https://www.mywebsite.com";En mywebsite.com cuando se realizan llamadas para obtener recursos del servidor del nodo, la solicitud funciona bien ya que provienen del sitio web autorizado. Probé esto en Chrome y FireFox. Cuando probé lo mismo con IE10, los recursos no funcionaron bien.
Al mirar la solicitud de encabezado y la respuesta para IE 10, noté que el 'origen' no se llenó correctamente mientras que se llenó bien con Firefox y Chrome.
Aquí está el encabezado de Chrome: valores de encabezado de Chrome
Mientras que el encabezado de IE 10 era: valores de encabezado de Internet Explorer para la misma solicitud de obtención
En IE 10, el origen se rellena con 'blob://', mientras que en Chrome y Firefox el dominio del sitio web de origen se muestra correctamente, lo que permite que CORS funcione correctamente.
Los recursos servidos por el servidor de nodos son mbtiles con .pbf que son flujos binarios.
¿Alguna idea de por qué IE10 parece poner un origen incorrecto en la solicitud de encabezado? y puede ser un trabajo alrededor o una solución para ello?
Gracias
No estoy seguro de si esto resolverá su problema, pero nunca he tenido problemas con este método:
app.use((req, res, next) => { res.header('Access-Control-Allow-Origin', 'http://www.website.com'); res.header('Access-Control-Allow-Methods', 'GET, POST, PUT, DELETE, OPTIONS'); res.header('Access-Control-Allow-Headers', 'Origin, X-Requested-With, Content-Type, Accept, Authorization, Access-Control-Allow-Credentials'); res.header('Access-Control-Allow-Credentials', 'true'); next(); });