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

How prevent Chrome mobile routing packets through US Compression proxy

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

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

对于以下情况:

  1. 笔记本电脑,所有浏览器,超过 wi-fi
  2. Android 平板电脑,所有浏览器,通过 wifi
  3. Android phone,使用互联网浏览器,通过 wifi

服务器检测到 $_SERVER['REMOTE_ADDR'] = 123.123.123.123。 延迟实际上为零,并且不会发生缓存。到目前为止,一切都符合预期。

但是,当我在 Chrome 中通过 Android 手机 phone(分配了 192.168.0.10 的 IP)通过相同的 wi-fi 连接,服务器检测到:

$_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 正在被缓存 - 因此没有返回 correct/latest 值。

HTTP 相关部分header:

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

我看到 66.249.84.0-255 属于 Google,并理解为什么压缩在移动环境中通常很有用。但就我而言,我宁愿避免 round-world-trip.

的额外延迟

当我 运行 通过 HTTPS 进行相同的查询时,没有 re-routing 通过 Googles 的服务器。

有什么方法可以避免 Chrome 移动 re-routing 我的数据包?

您的请求大概是通过 Google 的 Data Compression Proxy 路由的。

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

在客户端,用户可以通过 设置 > 带宽管理 > 减少数据使用.

在设置中简单地禁用此功能

在服务器端,"undo" 路由为时已晚,尽管您可以使用 Cache-Control: no-transform header 表示您不希望对响应进行转码。

来自 Google 开发者文档:

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

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

是的,我的答案是一样的。我在新西兰有一台从加拿大访问的网络摄像机。我注意到访问日志中 66-xx-xx-xx 范围内的一堆可疑访问,并且相信相机已被黑客入侵,我立即为该范围添加了拒绝访问(当时我知道该范围由 google ...但据我当时所知,它可能是一台用途不明的云机器。)

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

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

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

我想知道 google 里面有什么?当我的流量通过他们的代理时,他们挖掘了哪些有价值的信息?