Chrome移动版添加了转发标头

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Chrome移动版添加了转发标头相关的知识,希望对你有一定的参考价值。

我在android手机上使用Chrome Mobile时遇到了奇怪的行为。

我正在研究的一个网站正面临conflict with "FORWARDED" and "X_FORWARDED_FOR" headers错误,这些错误打破了它的渲染。

我的网站日志是可靠的:我的Chrome Mobile对此负责!

切换到私人导航或使用其他浏览器,我不会触发错误。

应用程序方面,我们通过删除不需要的FORWARDED标头来解决问题。

我清除了Chrome应用缓存(历史记录,网站参数,应用缓存...),并强制我的Google帐户进行数据同步。

但我仍然不明白为什么我的Chrome手机正在添加这个FORWARDED标头。

答案

好的发现了!

我在Chrome Mobile上启用了“数据保护程序”功能(请参阅“设置”>“数据保护程序”)。这样可以使用似乎添加Forwarded标头的Google代理。看看我的Varnish反向代理看到的请求:

-   BereqProtocol  HTTP/1.1
-   BereqHeader    Host: xxxxxxxxxxxxxxxx
-   BereqHeader    Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8
-   BereqHeader    Accept-Language: fr-FR,fr;q=0.9,en-US;q=0.8,en;q=0.7
-   BereqHeader    Forwarded: for=90.14.196.122
-   BereqHeader    Save-Data: on
-   BereqHeader    Scheme: http
-   BereqHeader    Upgrade-Insecure-Requests: 1
-   BereqHeader    Via: 1.1 Chrome-Compression-Proxy
-   BereqHeader    X-Forwarded-Proto: http
-   BereqHeader    Surrogate-Capability: abc=ESI/1.0
-   BereqHeader    X-Forwarded-For: 90.14.196.122, 66.249.93.220, xxxxxxxxxx, xxxxxxxxxx
-   BereqHeader    Accept-Encoding: gzip
-   BereqHeader    X-Varnish: 1016435

浏览私人时:

-   BereqProtocol  HTTP/1.1
-   BereqHeader    Host: xxxxxxxxxxxxxxxx
-   BereqHeader    Save-Data: on
-   BereqHeader    Upgrade-Insecure-Requests: 1
-   BereqHeader    Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8
-   BereqHeader    Accept-Language: fr-FR,fr;q=0.9,en-US;q=0.8,en;q=0.7
-   BereqHeader    X-Forwarded-Proto: https
-   BereqHeader    Surrogate-Capability: abc=ESI/1.0
-   BereqHeader    X-Forwarded-For: 90.14.196.122, xxxxxxxxxxx, xxxxxxxxxxx
-   BereqHeader    Accept-Encoding: gzip
-   BereqHeader    X-Varnish: 997420

然后,关闭“数据保护程序”就可以了。

以上是关于Chrome移动版添加了转发标头的主要内容,如果未能解决你的问题,请参考以下文章

移动 Chrome 上的 CORS Allow-Access-Control-Origin

请求标头未转发到 IdentityServer4

获取 API:无法使用 Chrome 对请求标头添加授权

在 Node.js Express.js 服务器中添加标头后,Chrome 中仍然出现 CORS 错误

Chrome将Origin标头添加到同源请求

媒体查询适用于移动版Firefox但不适用于移动版Chrome