La solicitud GET de Squid devuelve un tipo de contenido incorrecto cuando se usa el modo transparente

La solicitud GET de Squid devuelve un tipo de contenido incorrecto cuando se usa el modo transparente

Estoy tratando de establecer la causa de un problema extraño con un dispositivo móvil que pasa por un proxy Squid 3.3 en CentOS 7 usando el modo transparente y que no puede acceder al contenido de noticias dentro de la aplicación Bing News en Windows Phone 8.

Cuando se carga el contenido, aparece un error que dice "Se produjo un error al cargar esta página". Cada vez que se solicita una noticia, se registra una solicitud GET similar a la siguiente desde el dispositivo móvil:

TCP_MISS/200 414 GET http://en-gb.appex-rf.msn.com/article/v4/EN-GB/news/0/BBm10XM.js? - FIRSTUP_PARENT/::1 text/javascript

Hice la misma solicitud GET en un cliente que tiene el proxy configurado mediante WPAD y parece que la respuesta es ligeramente diferente:

TCP_MISS/200 399 GET http://en-gb.appex-rf.msn.com/article/v4/EN-GB/news/0/BBm10XM.js - FIRSTUP_PARENT/::1 application/json

Con más detalles usando curl:

* About to connect() to en-gb.appex-rf.msn.com port 80 (#0)
*   Trying 213.104.143.210...
* Connected to en-gb.appex-rf.msn.com (213.104.143.210) port 80 (#0)
> GET /article/v4/EN-GB/news/0/BBm10XM.js HTTP/1.1
> User-Agent: curl/7.29.0
> Host: en-gb.appex-rf.msn.com
> Accept: */*
>
< HTTP/1.1 200 OK
< Content-Type: application/json; charset=utf-8
< Last-Modified: Sun, 23 Aug 2015 19:43:49 GMT
< ETag: "7daadd066c8a3c246e24515a03b7eeb5"
< Server: Microsoft-IIS/8.5
< X-Diagnostic-S: AppContentService_IN_21
< X-Diagnostic-DC: eastus
< X-CMS-ACSElapsedTimeInMilliseconds: 4
< AppEx-Activity-Id: 18579b38-f191-4ba8-9af9-9fd97c0d15bb
< X-Trace-Context: {"ActivityId":"18579b38-f191-4ba8-9af9-9fd97c0d15bb"}
< X-AspNet-Version: 4.0.30319
< X-Powered-By: ASP.NET
< Cache-Control: public, max-age=300
< Date: Sun, 23 Aug 2015 20:33:32 GMT
< Content-Length: 7209
< Connection: keep-alive

La aplicación Bing News funciona cuando no se usa el proxy o cuando se usa el proxy mediante configuración o WPAD (es decir, no es transparente). Probado en una PC con Windows 8.1.

Supongo que debido a que el tipo de datos es diferente, esta es probablemente la causa del problema con la aplicación en Windows Phone 8, pero no estoy seguro de por qué Squid lo ve de manera diferente en el modo transparente frente a WPAD/configuración de proxy configurado.

¿Hay alguna configuración específica que deba revisar en mi squid.confmétodo u otros para resolver esto? Preferiría que este cliente pasara por el proxy, pero como solución a corto plazo podría escribir una iptablesregla para que la IP de este cliente omita el proxy por completo.

información relacionada