如何阻止Chrome移动路由数据包通过美国压缩代理

时间:2015-01-06 17:50:20

标签: android google-chrome caching redirect

我正在我的家庭开发环境中调试一个IP范围为192.168.0.0-255的API。 我在澳大利亚(与下面的原因相关),用PHP编写的API,我正在运行Apache。

我的服务器IP = 192.168.0.20 我的路由器配置为将HTTP请求转发到此IP。 我的路由器内部IP为192.168.0.1,外部IP为123.123.123.123

对于以下情况:

  1. 笔记本电脑,所有浏览器,通过Wi-Fi
  2. Android平板电脑,所有浏览器,无线网络
  3. Android手机,使用互联网浏览器,通过wifi
  4. 服务器检测到$_SERVER['REMOTE_ADDR'] = 123.123.123.123。 延迟实际上为零,不会发生缓存。到目前为止,一切都如预期的那样。

    但是,当我通过同一个Wi-Fi连接从Chrome手机(分配IP 192.168.0.10)提交相同的查询时,服务器会检测到:

    $_SERVER['HTTP_X_FORWARDED_FOR']: 123.123.123.123
    $_SERVER['HTTP_FORWARDED']:       123.123.123.123
    $_SERVER['REMOTE_ADDR'] :         66.249.84.217`
    

    'REMOTE_ADDR'也会使用值66.249.84.22366.249.84.229

    延迟大约400毫秒并且我的API被缓存 - 因此没有返回正确/最新的值。

    HTTP标头的相关部分:

    Forwarded: for=123.123.123.123
    Scheme: http
    Via: 1.1 Chrome-Compression-Proxy
    

    我看到66.249.84.0-255属于Google,并了解为什么压缩在移动环境中通常很有用。但在我的情况下,我宁愿避免圆形世界旅行的额外延迟。

    当我通过HTTPS运行相同的查询时,不会通过Googles的服务器进行重新路由。

    有没有办法避免Chrome移动重新路由我的数据包?

3 个答案:

答案 0 :(得分:2)

您的请求可能是通过Google Data Compression Proxy发送的。

由于Google不会尝试劫持您的SSL证书,因此不会对SSL连接进行此类重新路由。

在客户端,用户可以使用设置>在设置中禁用此功能。带宽管理>减少数据使用

在服务器端,为时已晚,以及#34;撤消"路由,但您可以使用Cache-Control: no-transform标头指出您不希望您的回复进行转码。

答案 1 :(得分:0)

来自Google Developer Docs:

作为网站所有者,我如何选择退出内容优化? 数据压缩代理遵循标准的Cache-Control:no-transform指令。网站所有者可以使用此指令标记单个资源,代理会将它们直接传递给移动浏览器。

https://developer.chrome.com/multidevice/data-compression

答案 2 :(得分:0)

是的,对我来说也是一样的答案。我在新西兰有一台网络摄像机,我从加拿大访问。我注意到在66-xx-xx-xx范围内的访问日志中有一堆可疑访问,并且认为相机已被黑客攻击我立即为该范围添加了拒绝访问权限(当时我知道该范围是由谷歌拥有的) ......但据我所知,它本来可能是一个未知目的的云计算机。)

然后注意到我无法再在我的手机上访问chrome上的netcam(但可以在默认浏览器和任何Windows浏览器上)很明显,中间有某种代理。进一步的研究使我在这里。

这里有更多信息 - https://developer.chrome.com/multidevice/data-compression

关闭Chrome设置中的减少数据使用量会立即恢复对我的网络摄像头的访问

我不得不想知道谷歌里面有什么?什么有价值的信息是从我的流量中通过他们的代理进行挖掘?