类型('application / gzip')不可执行,并且启用了严格的MIME类型检查"/>
拒绝执行脚本,因为其MIME类型('application / gzip')不可执行,并且启用了严格的MIME类型检查
我正在尝试在我的React应用程序生产服务器上设置头盔安全性。但是,每当我尝试访问URL时。我收到一条错误消息,说Refused to execute script from 'http://localhost:3000/static/js/app.378bd8b8eee930fb268c.js' because its MIME type ('application/gzip') is not executable, and strict MIME type checking is enabled.
对于压缩构建,我正在使用compression-webpack-plugin
。
当我移除helmet
时,压缩版本运行良好。头盔插件设置:
{"xssFilter": {"setOnOldIE": true}}
回答如下:头盔的作者在这里。这是由于X-Content-Type-Options
标头(头盔自动将其设置为nosniff
)而发生的。这告诉浏览器不要推断文件的类型,而要信任服务器设置的Content-Type
。如您在屏幕快照中所见,/static/js/app.378bd8b8eee930fb268c.js
的Content-Type
为application/gzip
。浏览器拒绝将其解释为JavaScript,因为其Content-Type
不是application/javascript
-实际上是X-Content-Type-Options
标头。
您可以通过解决问题来解决问题-将JavaScript文件的
Content-Type
设置为application/javascript
,而不是application/gzip
。
更多推荐
拒绝执行脚本,因为其MIME类型('application / gzip')不可执行,并且启用了严格的MIME类型检查
发布评论