He estado probando el navegador PS3 (NetFront) con componentes Flash incrustados en una página web y parece que hay un error bastante serio con la forma en que se emiten las solicitudes de Flash. El navegador está agregando un referrer (referer) y también lo está el reproductor Flash que da como resultado encabezados duplicados. Esto está realmente bien si los encabezados de referencia son los mismos, sin embargo, no lo son, y como resultado, http.sys detiene la solicitud en W2k8. Este es un problema importante para mí ya que tengo un componente Flash que necesita llamar a los servicios web para funcionar.Duplicate Referrer Header - HTTP.sys barfs
¿Hay alguna manera de que podamos filtrar o permitir estas solicitudes, posiblemente eliminando los encabezados duplicados en el camino.
Algunas de las soluciones que hemos pensado, pero que son ya sea subóptima o no es posible con nuestro desarrollo y entornos reales son:
- Adición de un proxy delante de los servidores para limpiar la solicitud.
- Solucionando la solicitud en nuestros equilibradores de carga. Esto puede funcionar en nuestro entorno en vivo, pero no en el desarrollo. También utilizar un equilibrador de carga para realizar esta operación es una mala práctica, nuestro equipo de operaciones no estaría satisfecho :)
- Envíe todos los datos a Flash durante la inicialización a través de flashvars. Posiblemente haciendo cualquier actualización/devolución de llamada a través de Javascript. Esto se siente complicado y requerirá un código personalizado significativo para una plataforma.
- Evite que el navegador o Flash envíen encabezados de referencia. Esto sería aceptable, sin embargo, no parece haber una manera de habilitar esto en Flash o NetFront.
Como referencia la siguiente petición será reproducir el problema (copiar y pegar en Fiddler u otra herramienta, estoy suponiendo que está ejecutando IIS 7, W2K8 ya que estamos). Debería obtener una respuesta 400 Bad Request
.
GET/HTTP/1.1 Host: localhost Referer: http://localhost/NetFrontBrowser/ Referer: http://localhost/Flash/
Muchas gracias
Gracias por la respuesta, lamentablemente no puedo probarlo, y el problema ha pasado hace mucho tiempo, ¡pero me gusta pensar! Desafortunadamente esa etiqueta parece que se desarrolló después del navegador NetFront con el que habríamos estado trabajando, pero esta solución podría funcionar para cualquier otra persona con un problema más actual. –