corb问题解决

1.问题发生背景

  • 上线公司新的前端服务,配置nginx后,出现corb的报错,大概是下面这样

Cross-Origin Read Blocking (CORB) blocked cross-origin response www.example.com/example.htm… with MIME type text/html. See www.chromestatus.com/feature/562… for more details.

  • 前端服务配置nginx,css、js使用CDN缓存

2.解决

  • 解决办法:juejin.cn/post/684490…
  • 简单解决办法是在响应头中加上 X-Content-Type-Options: nosniff
  • 注意点
    • 是在CDN的响应头配置X-Content-Type-Options: nosniff,而不是nginx中配置
    • corb是浏览器的安全策略,所以用curl或postman访问是正常的。在用浏览器访问前可以先用curl -I 返回响应头看下是否有X-Content-Type-Options: nosniff,如果有,但是浏览器访问还是有corb错误,可以对相关静态文件刷新预热,如果文件较多,可以重新npm run build静态文件