为子域('www')启用CORS,而不仅仅是域

时间:2017-11-09 22:30:32

标签: amazon-web-services aws-lambda amazon-cloudfront aws-api-gateway amazon-route53

当我尝试发布我的联系表单时,我收到一个控制台错误,我的Lambda,SES,API网关,Cloudfront备用源配置将不能从子域“www.example.com”工作,而它可以从'示例工作.COM”。如何允许联系表单避免多个(子)域上的任何问题?控制台中的错误告诉我以下内容:

“跨源请求已阻止:同源策略禁止在https://example.com/rest/contact读取远程资源。(原因:缺少CORS标头'Access-Control-Allow-Origin'。”

我的备用Cloudfront来源捕获'/ rest / contact'。我已经使用API​​网关和SES测试了Lambda函数 - 效果很好。我还在API网关上启用了OPTIONS和CORS,它解除了之前的错误。在Route53等上使用通配符也没有给我带来任何好处。

感谢任何帮助。我正在寻找关于如何使用这些AWS服务使我的联系表格尽可能灵活的建议。

1 个答案:

答案 0 :(得分:0)

如果您不希望将*作为Access-Control-Allow-Origin

的值,则可以使用Lambda函数根据您从请求获得的原始标头动态生成CORS标头