4

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

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

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

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

所以,恢复,我有这个:

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

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

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

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

4

1 回答 1

0

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

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

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

于 2013-02-06T00:39:37.013 回答