我正在尝试使用AWS Cloudfront上的lambda @ edge对多个网站实施“代理”。
我的设置大致是:
DNS:*。domain.com-> some_uuid.cloudfront.net(Cloudfront发行版)
Cloudfront:some_uuid.cloudfront.net-> S3存储桶来源
s3存储桶:网站/(包含多个网站的文件夹)
lambda @ edge函数:定义为起点请求
我的lambda @ edge函数非常简单:
检查网站资源是否在s3存储桶中。
如果是,请将请求uri更改为资源s3 url。
如果不是,则向后端服务器发送请求以渲染资源,将其存储在s3上并返回。
我在获取网站的原始域时遇到问题。例如,如果我尝试访问“ my_website.domain.com”,则在我的lambda函数中,我没有请求中的该域信息。
我认为我可以实现另一个lambda @ edge函数作为查看器请求,以将域作为标头传递,但是如果可以的话,我宁愿避免这种情况。
还有其他解决方案吗?
谢谢
javascript node.js amazon-cloudfront aws-lambda aws-lambda-edge