我们有一个本地开发环境(localhost/
),它在远程服务器(api-dev.host.com
)上与我们的开发应用程序接口通信。
在最新的Chrome升级之后,当我尝试从本地主机到远程服务器进行通信时,收到以下控制台错误:
[Deprecation] SharedArrayBuffer will require cross-origin isolation as of M92, around July 2021. See https://developer.chrome.com/blog/enabling-shared-array-buffer/ for more details.
虽然错误中的链接确实显示了一些信息,但我不清楚如何解决此问题。有没有办法从后端修复这个问题?如有任何答复,我们将不胜感激。
发布于 2021-06-01 16:50:20
根据错误消息中的link,这是由于Chrome v92中实现了一个新的安全功能。
Chrome v92现在需要Cross-Origin-Resource-Policy
头,以便在两个或多个源之间共享资源。我假设您正在尝试使用api-dev.host.com
设置的cookie或其他资源,因此您需要实现标头或将CORS配置设置为Access-Control-Allow-Origin: *
。
如果您没有将Access-Control-Allow-Origin
设置为*
,您可以使用以下Nginx配置来设置Cross-Origin-Resource-Policy
头部:
add_header Cross-Origin-Resource-Policy 'cross-origin' always;
头部有多个不同的值,但cross-origin
将允许您访问来源之间的资源(localhost
和api-dev.host.com
是不同的来源)。
请注意,您可能已经使用了SameSite=Lax
或其他配置。为了访问应该由远程服务器与Cross-Origin-Resource-Policy
一起设置的cookie,您需要具有以下cookie配置(您可以查看cookie SameSite
configuration here):
SameSite=None; Secure;
假设您正在尝试访问由不同来源的远程服务器设置的cookie,并且没有将Access-Control-Allow-Origin
设置为*
,这应该是可行的。
https://stackoverflow.com/questions/67785470
复制相似问题