
我正在嘗試確定行動裝置出現奇怪問題的原因,該行動裝置使用透明模式通過 CentOS 7 上的 Squid 3.3 代理,該代理無法存取 Windows Phone 8 上 Bing 新聞應用程式中的新聞內容。
加載內容時,我只是收到一條錯誤訊息「加載此頁面時發生錯誤」每次請求新聞報道時,都會從行動裝置記錄類似於以下內容的 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
我在透過 WPAD 配置代理的客戶端上發出了相同的 GET 請求,但回應似乎略有不同:
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
當不使用代理或透過配置或 WPAD 使用代理(即不透明)時,Bing 新聞應用程式可以正常運作。在 Windows 8.1 PC 上測試。
我假設因為資料類型不同,這可能是 Windows Phone 8 上的應用程式出現問題的原因,但我不確定為什麼 Squid 在透明模式與 WPAD/配置的代理設定下看到它的方式不同。
squid.conf
我的方法或其他方法是否需要查看任何特定設定來解決此問題?我更願意讓這個客戶端通過代理,但作為短期解決方案,我可以iptables
為此客戶端 IP 編寫一條規則以完全繞過代理。