目前,我有R53指向我的www。域指向一个CloudFront分区,该分区指向一个S3存储桶,其中包含我的前端html,css,js等。
这很好用。
现在,我正在网站上添加“与我们联系”表单。我打算构建一个API网关,然后调用Lambda函数来处理提交。
形成URL的最佳方法是什么,以便R53将请求定向到API网关而不是CloudFront?
大概一个子域可以工作吗?那是规范吗?大多数人遵循的命名约定吗?
像https://api.mydomain.com/contactus
一样?
答案 0 :(得分:2)
对Route53的作用似乎有一个误解。 Route53是DNS服务,它通过服务器IP /地址将流量路由到服务器/主机,并且不知道URL中的路径(除非您在运行状况检查中使用它们)-Route53处理OSI层3,而路径处理在第5层及以上。
如果您要基于路径的请求路由,则必须使用以S3和Lambda为目标的应用程序负载平衡器(Lambda support for this has recently been announced)-不幸的是,这里的S3是not a supported target。 / p>
最好的解决方案可能是在您的静态网站中实现该表单,然后使用Javascript将其提交到您的API-网关端点,但是您必须确保在API网关上启用了CORS。