我正在为我的环境创建AWS Cloudformation模板,但我找不到为API Gateway方法启用CORS的方法 .
我可以使用AWS控制台(here is the official doc)对其进行配置,但是如何在Cloudformation模板中进行配置?
我正在为我的环境创建AWS Cloudformation模板,但我找不到为API Gateway方法启用CORS的方法 .
我可以使用AWS控制台(here is the official doc)对其进行配置,但是如何在Cloudformation模板中进行配置?
4 回答
经过一些试验和错误后,我发现与CORS控制台向导相比,以下CloudFormation模板代码段将生成等效的OPTIONS方法:
*Note 1 :这是获取POST默认值的示例 . 显然,您需要更新
Access-Control-Allow-Methods
以包含所需的值 .*Note 2 :对最近推出YAML支持的AWS CloudFormation团队表示感谢 . 如果你需要转换为/从YAML / JSON转换,我发现这个网站很方便:http://www.json2yaml.com/
API网关对自动CORS配置的支持目前仅适用于API网关控制台 . 当您从swagger导入API或通过CloudFormation定义API时,您仍然可以自己设置CORS,但是您必须指定用于设置OPTIONS方法的所有参数以及将CORS特定标头添加到其他方法 .
This page显示了在导入swagger时如何设置CORS . 通过CloudFormation设置CORS在概念上类似,但使用CloudFormation语法而不是swagger语法 .
它只创建选项方法,还有工作需要做的就是GET,POST等方法的响应,我创建了一个完成的hello world cloudformation
https://github.com/seraphjiang/aws-cors-cloudformation/tree/master
试试这个: