我ERR_INVALID_RESPONSE
在 iOS 设备上使用 Safari 时出现“无法解析来自 Chrome 的响应”,但 Windows、Android、Linux 桌面均运行正常。为什么?
我将 WordPress 网站从 Ubuntu Apache 服务器迁移到 Arch Nginx-Apache 反向代理服务器。
- 全新安装的 WordPress 网站在新服务器上运行。
- 迁移后的 WordPress 网站出现此错误。
- 在相同的 NA-rp 配置上,全新安装的 PostfixAdmin 也出现此错误。
是什么原因造成的?解决方案是什么?是 PHP 问题吗?网上的大多数答案都建议重置路由器、检查 DNS 记录和刷新缓存,但这些都无济于事。例如:
答案1
罪魁祸首是Update
来自 Nginx 的标头,非 HTTP/2!!
这个答案让我想到这个SF 上的其他答案,这不是可接受的答案。许多人指出它来自 HTTP/2。但是,虽然问题可能存在于 HTTP/2 内部,但关闭 HTTP/2 并不是答案,而只是隐藏了Upgrade
Nginx 中的标头。
在此声明中:
location / {
proxy_pass http://127.0.0.1:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
添加了这一行:
proxy_hide_header Upgrade;
导致:
location / {
proxy_pass http://127.0.0.1:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_hide_header Upgrade;
}
我正在发布自己的答案,但我希望从其他人那里获得更多信息。
没有人知道为什么 iOS 堆栈单独存在这个问题,例如:
但我仍然不明白为什么它只发生在 iOS 10 设备上。