Amazon Cloudfront - 将CDN域名传递给源服务器

时间:2012-10-25 09:53:46

标签: amazon cdn amazon-cloudfront

我想知道Amazon Cloudfront是否可以将请求来自的CDN域名传递给源服务器。让我解释一下。

  • 我有一个与原始域关联的外部LAMP服务器(例如:origin.mydomain.com)
  • 我已成功设置Cloudfront,将origin.mydomain.com设置为原始服务器
  • 最后,我将2个不同的(CDN)域指向Cloudfront(例如:www.firstdomain.com和www.seconddomain.com)

现在,所有这些设置都运行良好。

但是我缺少一条信息:当原始服务器(origin.mydomain.com)收到请求时,我还没有找到方法知道请求是否最初来自www.firstdomain.com或www .seconddomain.com; cloudfront向原始服务器发送有关请求的所有信息,但原始CDN域除外 - 或者如果有,我不知道如何/在何处获取它。

所以,恢复,我有这个:

DNS域名 - > Cloudfront - >起源域 - > LAMP服务器

问题是:LAMP如何获得请求最初来自的DNS域名?

我是否会错过任何云端设置,或者我可以使用一些技巧来获取该信息?

注意:我知道我可以创建指向同一个源服务器的多个属性,但这不是该项目的可行解决方案。

1 个答案:

答案 0 :(得分:0)

您必须使用Cloudfront中的日志记录,因为Cloudfront实际向您的服务器发出请求的唯一时间是他们没有该特定文件的缓存版本。

要启用日志记录,您需要登录AWS控制台并在分发详细信息中选择要为其启用访问日志的分发的编辑。然后为AWS设置目标存储区和前缀以将日志文件传递到。记录目标应该是另一个S3存储桶而不是源。否则,您的报告将包含对Amazon提供的日志文件的请求以及下载日志文件请求。

配置日志记录时,它会将日志保存在您以此格式指定的存储桶中:http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/AccessLogs.html#LogFileFormat