Die Squid-GET-Anforderung gibt bei Verwendung des transparenten Modus einen falschen Inhaltstyp zurück

Die Squid-GET-Anforderung gibt bei Verwendung des transparenten Modus einen falschen Inhaltstyp zurück

Ich versuche, die Ursache für ein seltsames Problem mit einem Mobilgerät zu ermitteln, das im transparenten Modus über einen Squid 3.3-Proxy auf CentOS 7 läuft und nicht auf Nachrichteninhalte in der Bing News-App auf Windows Phone 8 zugreifen kann.

Beim Laden von Inhalten erhalte ich nur die Fehlermeldung „Beim Laden dieser Seite ist ein Fehler aufgetreten“. Jedes Mal, wenn ein Nachrichtenbeitrag angefordert wird, wird eine GET-Anforderung ähnlich der folgenden vom Mobilgerät protokolliert:

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

Ich habe dieselbe GET-Anfrage an einen Client gesendet, bei dem der Proxy über WPAD konfiguriert ist. Die Antwort scheint etwas anders zu sein:

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

Mit weiteren Details zur Verwendung von 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

Die Bing News-App funktioniert, wenn kein Proxy verwendet wird oder wenn der Proxy über die Konfiguration oder WPAD verwendet wird (also nicht transparent). Getestet auf einem Windows 8.1-PC.

Ich gehe davon aus, dass der unterschiedliche Datentyp wahrscheinlich die Ursache für das Problem mit der App unter Windows Phone 8 ist, bin mir jedoch nicht sicher, warum Squid es im transparenten Modus anders sieht als bei WPAD/konfigurierten Proxy-Einstellungen.

Gibt es bestimmte Einstellungen, die ich in meinen squid.confoder anderen Methoden überprüfen muss, um dies zu beheben? Ich würde es vorziehen, wenn dieser Client über den Proxy läuft, aber als kurzfristige Lösung könnte ich eine iptablesRegel für diese Client-IP schreiben, um den Proxy vollständig zu umgehen.

verwandte Informationen