添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

Adobe Granite Cross-Origin Resource Sharing Policy ( com.adobe.granite.cors.impl.CORSPolicyImpl )

将使用匹配这些值的第一个策略。 如果未找到,则任何 CORS 请求被拒绝。

如果未配置任何策略, CORS 由于处理程序被禁用,因此请求也不会得到应答 — 只要服务器的其他模块没有响应 CORS.

Dispatcher缓存顾虑和配置 dispatcher-caching-concerns-and-configuration

从Dispatcher 4.1.1开始,可以缓存响应标头。 这使得可以缓存 CORS 标头以及 CORS-requested resources(请求为匿名)。

通常,在Dispatcher缓存内容的相同考虑因素也可以应用于在Dispatcher缓存CORS响应标头。 下表定义何时 CORS 标头(以及因此 CORS 请求)进行缓存。

身份验证状态
AEM 发布
AEM Author上的Dispatcher缓存仅限于静态的非创作资源。 这使得在AEM Author上缓存大多数资源(包括HTTP响应标头)变得困难和不实际。
AEM 发布
避免在经过身份验证的请求上缓存CORS标头。 这符合不缓存经过身份验证的请求的常见指南,因为很难确定请求用户的身份验证/授权状态将如何影响投放的资源。
AEM 发布
可以在Dispatcher中缓存的匿名请求也可以缓存其响应标头,以确保将来的CORS请求可以访问缓存的内容。 AEM Publish上的任何CORS配置更改 必须 随后使受影响的缓存资源失效。 最佳实践要求在代码或配置部署中清除Dispatcher缓存,因为很难确定哪些缓存内容可能会受到影响。

允许CORS请求标头

允许必需的 要传递到AEM以进行处理的HTTP请求标头 ,它们必须在Dispatcher的 /clientheaders 配置。

/clientheaders {
   "Origin"
   "Access-Control-Request-Method"
   "Access-Control-Request-Headers"
        # CORS HTTP response headers
        # https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS#the_http_response_headers
        /headers {
            "Access-Control-Allow-Origin"
            "Access-Control-Expose-Headers"
            "Access-Control-Max-Age"
            "Access-Control-Allow-Credentials"
            "Access-Control-Allow-Methods"
            "Access-Control-Allow-Headers"
        

请记住 重新启动Web服务器应用程序 在对进行更改之后 dispatcher.any 文件。

可能需要完全清除缓存,以确保在之后的下一个请求中正确缓存标头 /cache/headers 配置更新。

CORS疑难解答

日志记录位于 com.adobe.granite.cors