我正在我的家庭开发环境中调试一个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
对于以下情况:
服务器检测到$_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.223
和66.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移动重新路由我的数据包?
答案 0 :(得分:2)
您的请求可能是通过Google Data Compression Proxy发送的。
由于Google不会尝试劫持您的SSL证书,因此不会对SSL连接进行此类重新路由。
在客户端,用户可以使用设置>在设置中禁用此功能。带宽管理>减少数据使用。
在服务器端,为时已晚,以及#34;撤消"路由,但您可以使用Cache-Control: no-transform
标头指出您不希望您的回复进行转码。
答案 1 :(得分:0)
来自Google Developer Docs:
作为网站所有者,我如何选择退出内容优化? 数据压缩代理遵循标准的Cache-Control:no-transform指令。网站所有者可以使用此指令标记单个资源,代理会将它们直接传递给移动浏览器。
答案 2 :(得分:0)
是的,对我来说也是一样的答案。我在新西兰有一台网络摄像机,我从加拿大访问。我注意到在66-xx-xx-xx范围内的访问日志中有一堆可疑访问,并且认为相机已被黑客攻击我立即为该范围添加了拒绝访问权限(当时我知道该范围是由谷歌拥有的) ......但据我所知,它本来可能是一个未知目的的云计算机。)
然后注意到我无法再在我的手机上访问chrome上的netcam(但可以在默认浏览器和任何Windows浏览器上)很明显,中间有某种代理。进一步的研究使我在这里。
这里有更多信息 - https://developer.chrome.com/multidevice/data-compression
关闭Chrome设置中的减少数据使用量会立即恢复对我的网络摄像头的访问
我不得不想知道谷歌里面有什么?什么有价值的信息是从我的流量中通过他们的代理进行挖掘?