进行跨源请求时出现 SharedArrayBuffer 错误
SharedArrayBuffer error showing up when making cross origin request
我们有一个本地开发环境 (localhost/
) 与我们在远程服务器 (api-dev.host.com
) 上的开发 API 进行通信。
在最近的 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.
虽然错误中的 link 确实显示了一些信息,但我不清楚如何解决此问题。
无论如何从后端解决这个问题?任何答案将不胜感激。
根据错误消息中的 link,这是由于 Chrome v92 中实施的新安全功能所致。
Chrome v92 现在需要 Cross-Origin-Resource-Policy
header 以便在两个或多个来源之间共享资源。我假设您正在尝试使用由 api-dev.host.com
设置的 cookie 或其他资源,因此您需要实施 header 或将您的 CORS 配置设置为 Access-Control-Allow-Origin: *
.
如果您没有将 Access-Control-Allow-Origin
设置为 *
,您可以使用以下 Nginx 配置设置 Cross-Origin-Resource-Policy
header:
add_header Cross-Origin-Resource-Policy 'cross-origin' always;
header 有多个不同的值,但 cross-origin
将允许您访问来源之间的资源(localhost
和 api-dev.host.com
是不同的来源)。
请注意,您可能有 SameSite=Lax
或其他配置。为了访问应该由远程服务器与 Cross-Origin-Resource-Policy
一起设置的 cookie,您需要具有以下 cookie 配置(您可以检查您的 cookie SameSite
配置 here):
SameSite=None; Secure;
假设您正在尝试访问由单独来源的远程服务器设置的 cookie,并且没有将 Access-Control-Allow-Origin
设置为 *
。
,这应该可以工作
我们有一个本地开发环境 (localhost/
) 与我们在远程服务器 (api-dev.host.com
) 上的开发 API 进行通信。
在最近的 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.
虽然错误中的 link 确实显示了一些信息,但我不清楚如何解决此问题。 无论如何从后端解决这个问题?任何答案将不胜感激。
根据错误消息中的 link,这是由于 Chrome v92 中实施的新安全功能所致。
Chrome v92 现在需要 Cross-Origin-Resource-Policy
header 以便在两个或多个来源之间共享资源。我假设您正在尝试使用由 api-dev.host.com
设置的 cookie 或其他资源,因此您需要实施 header 或将您的 CORS 配置设置为 Access-Control-Allow-Origin: *
.
如果您没有将 Access-Control-Allow-Origin
设置为 *
,您可以使用以下 Nginx 配置设置 Cross-Origin-Resource-Policy
header:
add_header Cross-Origin-Resource-Policy 'cross-origin' always;
header 有多个不同的值,但 cross-origin
将允许您访问来源之间的资源(localhost
和 api-dev.host.com
是不同的来源)。
请注意,您可能有 SameSite=Lax
或其他配置。为了访问应该由远程服务器与 Cross-Origin-Resource-Policy
一起设置的 cookie,您需要具有以下 cookie 配置(您可以检查您的 cookie SameSite
配置 here):
SameSite=None; Secure;
假设您正在尝试访问由单独来源的远程服务器设置的 cookie,并且没有将 Access-Control-Allow-Origin
设置为 *
。