使用多个基本路径映射在API的顶点设置CORS标头?

时间:2017-05-17 16:16:59

标签: cors aws-api-gateway

我有多个基本路径映射到阶段:

  • /v1 - 主人
  • /latest - 暂存
  • /glhf - 开发

我需要在我的域的根目录(us-east-1中的api.naftuli.wtf)设置CORS OPTIONS响应,以便我可以通过JavaScript访问我的API。我为我的某个资源添加了OPTIONS响应,但定位根资源只会导致定位/v1/latest/glhf,而不是域的根目录。

有没有办法在基本路径映射下面的API的顶点设置CORS头?我不能根据API声明一个空的基本路径映射,因为我已经有了一些,所以我找不到为我的API提供CORS支持的方法,这是一种交易破坏。

1 个答案:

答案 0 :(得分:1)

正如您已经注意到的,您可以为API中的根资源启用CORS,然后通过{api-id} .execute-api.us-east-1.amazonaws.com / stage /或{custom -domain名} /基层 - 路径/

目前无法为绝对根(路径/)启用CORS标头,例如{api-id} .execute-api.us-east-1.amazonaws.com /或{custom-domain-name} /

API Gateway团队正在积极开发一项新功能,该功能应允许客户为这些案例启用CORS。很遗憾,我们无法传达任何预计的交付日期。

在可用之前,在绝对根目录上启用CORS的唯一方法是设置自定义域名,其基本路径映射给出空基本路径并包括阶段。在这种情况下,{custom-domain-name} /将映射到您在基本路径映射中指定的舞台上的API中的根资源。此方法仅支持每个自定义域名使用单个API /阶段。作为解决方法,您可以为每个API /阶段创建子域,并为每个子域设置单独的自定义域名,例如

  • v1.api.naftuli.wtf
  • latest.api.naftuli.wtf
  • develop.api.naftuli.wtf