在this article之后,我正在尝试从AWS内多个区域(在同一域下)提供静态内容。
到目前为止,我有:
至此,一切正常。如果在浏览器中输入域名,则可以看到静态内容。现在是时候将其设置为多区域了:
Event type: origin-request, Include body: No, Path pattern: *
X-DNS-ORIGIN
应用这些步骤后,我必须等待一分钟,然后它们才能生效。而且一旦生效,我就无法打开网页了。这样做将导致此错误消息:
503 ERROR
The request could not be satisfied.
The Lambda function associated with the CloudFront distribution is invalid or doesn't have the required permissions.
If you received this error while trying to use an app or access a website, please contact the provider or website owner for assistance.
If you provide content to customers through CloudFront, you can find steps to troubleshoot and help prevent this error by following steps in the CloudFront documentation (http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/http-503-service-unavailable.html).
Generated by cloudfront (CloudFront)
我什至启用了CloudFront的日志记录机制。但这也没有帮助。日志仅显示存在LambdaExecutionError
。但这并没有说什么有用的。
我相信根本不调用lambda函数,因为在CloudWatch中看不到为其生成任何日志。在这一点上,我不知道如何解决此问题。任何帮助表示赞赏。
[编辑]
我忘了提。分配给lambda函数的角色在其信任关系选项卡中将lambda.amazonaws.com
和edgelambda.amazonaws.com
列为服务。
答案 0 :(得分:1)
已经有几个月了,但是如果有人遇到和我一样的同样问题。本文对您有所帮助:https://hackernoon.com/postcards-from-lambda-the-edge-11a43f215dc1
当代码在The Edge上运行时,日志记录发生在该边缘服务器的CloudWatch区域中。日志可能不在您认为的位置。
要查找您的日志,请在边缘服务器区域中查找它们。就我而言,CloudWatch>日志组> /aws/lambda/us-east-1.lambdafunctionname