Назад | Перейти на главную страницу

Запрос Squid GET возвращает неверный тип содержимого при использовании прозрачного режима

Я пытаюсь установить причину странной проблемы с мобильным устройством, которое проходит через прокси-сервер Squid 3.3 на CentOS 7 в прозрачном режиме, который не может получить доступ к новостному контенту в приложении Bing News на Windows Phone 8.

Когда контент загружается, я получаю сообщение об ошибке «Произошла ошибка при загрузке этой страницы». Каждый раз, когда запрашивается новость, с мобильного устройства регистрируется запрос GET, подобный приведенному ниже:

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

Я сделал тот же запрос GET на клиенте, у которого прокси настроен через WPAD, и, похоже, ответ немного отличается:

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

С дальнейшими подробностями с использованием 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

Приложение Bing News работает, когда прокси не используется или при использовании прокси через конфигурацию или WPAD (т.е. непрозрачно). Проверено на ПК с Windows 8.1.

Я предполагаю, что, поскольку тип данных отличается, это, вероятно, причина проблемы с приложением на Windows Phone 8, но я не уверен, почему Squid видит его по-разному в прозрачном режиме по сравнению с настройками WPAD / настроенного прокси.

Есть ли какие-то конкретные настройки, которые мне нужно посмотреть в моем squid.conf или другие способы решить эту проблему? Я бы предпочел, чтобы этот клиент проходил через прокси, но в качестве краткосрочного решения я мог бы написать iptables правило для этого IP-адреса клиента, чтобы полностью обойти прокси.