【问题标题】:Chrome Not sending origin Header on CrossSideChrome 未在 CrossSide 上发送原始标头
【发布时间】:2018-04-24 01:29:59
【问题描述】:

我正在开发一个应用程序,它使用最新的 Angular 作为前端,并在服务器上使用 Symfony + Apache。应用程序和服务器位于不同的域上,但我的服务器通过发送所需的 CORS 标头(由 NelmioCors Bundle 创建)来允许它。但是 Chrome 没有发送 Origin Header,这会触发 Bundle 发送 Headers。

当我用 STRG+SHIFT+R 调用页面时,它加载时没有问题。

设置Vary: Origin 没有帮助。

为什么 chrome 会在没有 Allow Origin Header/Not sent Origin 的情况下缓存请求?

【问题讨论】:

    标签: angular google-chrome cors angular5 nelmiocorsbundle


    【解决方案1】:

    所以,我太确定是什么解决了问题,但似乎完全重置 Chrome 完成了这项工作。

    【讨论】:

      【解决方案2】:

      Chrome 正在重用对未设置 CORS 标头时发出的请求的响应。

      附带说明,在您的回复中使用 Vary: Origin 将防止未来发生任何事故。但是,您需要在每个响应 CORS 上都设置它。

      仅供参考:使用 CTL+SHIFT+R 会触发硬重新加载并且不使用缓存。

      【讨论】:

      • 感谢您的回答,我正在为每个请求设置可变标头,并清除了所有浏览数据。但这一切并没有改变 Chrome 的行为。此外,所有请求都会到达我的服务器。
      猜你喜欢
      • 1970-01-01
      • 2016-11-24
      • 2010-11-06
      • 2016-10-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-12-22
      相关资源
      最近更新 更多