从远程站点请求本地主机开发服务器时出现 Chrome CORS 错误

问题描述

周五我有一个可以工作的开发环境。星期一我有一个坏了。我在 Chrome 开发工具控制台中针对我的所有资产遇到了此错误消息:

从源“http://example.com”访问“http://localhost:8080/build/app.css”的 CSS 样式表已被 CORS 策略阻止:请求客户端不是安全上下文,并且资源位于更私密的地址空间 local

有什么快速解决办法吗?我尝试在我的 webpack devServer.headers 配置中设置 access-control-allow-origin 无济于事:

config.devServer.headers = {
  'Access-Control-Allow-Origin': '*','Access-Control-Allow-Headers': 'Origin,X-Requested-With,Content-Type,Accept'
}

解决方法

我终于在 Chrome 团队成员的这个 RFC about CORS-RFC1918 中找到了答案。综上所述,Chrome 实现了 CORS-RFC1918,它阻止公网资源请求私网资源——除非公网资源是安全的(HTTPS)并且私网资源提供了适当的(尚未定义) CORS 标头。

您还可以更改 Chrome 标志以暂时禁用新行为: chrome://flags/#block-insecure-private-network-requests

禁用该标志确实意味着您将重新打开 Chrome 的新行为旨在关闭的安全漏洞。

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...