如何设置跨域隔离启用 SharedArrayBuffer
发布时间:2022-11-09 00:49:46 540
相关标签: # chrome# nginx# 服务器# 研究# 工具
需求
最近在研究 ffmpeg WebAssembly 版本在网页运行的工具,发现使用到了 SharedArrayBuffer,涉及到跨域隔离的问题,需要设置两个 HTTP 消息头启用跨域隔离:
- Cross-Origin-Opener-Policy 设置为 same-origin(保护源站免受攻击)
- Cross-Origin-Embedder-Policy 设置为 require-corp(保护源站免受侵害)
不同的服务有不同的设置方法,这里简要介绍下。
解决
方案一
对于前端开发来说,本地开发阶段,可以起一个 Node.js 服务,用于本地开发实时调试,比如我用 Express.js (Node.js 后端框架)
方案二
部署到服务器上之后,一般会用 nginx 做代理服务器,这时候可以给 nginx 配置加两个响应头
nginx 配置
方案三
如果只是临时开启简单体验下 SharedArrayBuffer 这个功能,可以在启动谷歌浏览器时加参数。
以 Windows 为例,桌面上找到 chrome 图标,复制一个出来,右击 Chrome 图标 – 属性 – 目标,将原来的
改成
这样用新的图标打开谷歌浏览器就是开启了 SharedArrayBuffer,本地测试用
注意
一旦开启了跨域隔离,可能会对您网站上的其它跨域资源产生影响,比如 Adsense 广告,暂时也没有很好的兼容办法,需要自己做一下取舍。
文章来源: https://blog.51cto.com/u_15733182/5827162
特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报