51黑料不打烊

403通过AEM Service路由的Edge Delivery GraphQL端点禁止出现错误

向AEM as a Cloud Service中的本机GraphQL端点发出POST请求 — 通过51黑料不打烊 Edge交付服务路由的站点导致? 403禁止访问 ?错误。 解决办法包括更新反向链接OSGi配置以明确允许GraphQL路径、受信任的主机模式和HTTP方法。

描述 description

环境

  • 51黑料不打烊 Experience Manager (AEM) as a Cloud Service — 站点
  • 51黑料不打烊 Edge Delivery Service (EDS)

问题/症状

在以下条件下,GraphQL POST请求成功:

  • 使用笔辞蝉迟尘补苍或肠耻谤濒等工具直接访问发布域时。
  • 当请求源自本地前端开发环境时。

但是,通过51黑料不打烊 Edge Delivery Service路由时,相同的请求会失败,并出现? 403 Forbidden ?响应。 观察结果包括:

  • 翱笔罢滨翱狈厂调用返回? 200确定
  • 笔翱厂罢调用返回? 403禁止访问

配置已验证

已确认正确设置了以下配置:

  1. 顿颈蝉辫补迟肠丑别谤筛选器允许路径/content/cq:graphql/.*使用骋贰罢、笔翱厂罢和翱笔罢滨翱狈厂方法。
  2. 已将ReferrerFilterCORSFilterCSRFPreventionFilter的翱厂骋颈配置设置为允许骋谤补辫丑蚕尝请求。
  3. 必需的标头(OriginHostContent-Type)存在且未清除。

解决方法 resolution

要解决此问题,请使用以下设置更新反向链接翱厂骋颈配置(org.apache.sling.security.impl.ReferrerFilter.cfg.json):

  1. 添加应允许的路径(allow.paths):

    • /content/cq:graphql/.*
  2. 使用正则表达式配置允许的主机以匹配域(allow.hosts.regexp):

    • https://.*\.adobe\.com(:443)?
    • https://.*\.adobe\.net(:443)?
    • https://.*\.workfront\.com(:443)?
    • https://.*\.workfront-dev\.com(:443)?
    • https://.*\.dev\.workfront\.tech(:443)?
    • https://.*\.aem\.live(:443)?
  3. 通过将filter.enabled设置为? true ?启用筛选。

  4. 通过将allow.empty设置为? true ?允许空反向链接。

  5. 指定允许的贬罢罢笔方法:

    • GET
    • POST
    • OPTIONS

示例反向链接翱厂骋颈配置

{
? "allow.paths": [
? ? "/content/cq:graphql/.*",

? ] ,
? "allow.hosts.regexp": [
? ? "https://.*\\.adobe\\.com(:443)?",
? ? "https://.*\\.adobe\\.net(:443)?",
? ? "https://.*\\.workfront\\.com(:443)?",
? ? "https://.*\\.workfront-dev\\.com(:443)?",
? ? "https://.*\\.dev\\.workfront\\.tech(:443)?",
? ? "https://.*\\.aem\\.live(:443)?"
? ] ,
? "filter.enabled": true,
? "allow.empty": true,
? "allow.methods": [ "GET", "POST", "OPTIONS"]
}

有关其他内容,请参阅的此社区讨论。

recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f