【问题标题】:Multiple websites with Single CloudFront Distribution does not get routed具有单一 CloudFront 分配的多个网站不会被路由
【发布时间】:2015-04-09 01:07:13
【问题描述】:

我有几个网站 - 大约 20 个。它们都是 php 应用程序,目前托管在 apache 的单台机器上。现在有了虚拟主机配置,我可以用一个 ELB 来托管所有这些(除非它们需要通过 HTTPS)。我可以轻松地将传入请求从适当的目录路由到服务器。

但是,当我将创建一个以 Origin 作为 ELB 的 CloudFront 分配时,我的所有网站都开始使用默认页面提供服务。如何将 apache 配置为支持 CDN 和 ELB。

我认为我可以使用一些标头,但看起来它不会提供任何服务。以下是我在 CloufFront 后面时收到的请求的标头。 CDN->ELB->MY_APPLICATION

"host": "MY_PUBLIC_FACING_ELB_DNS_NAME",
"cache-control": "cf-no-range-cache",
"user-agent": "Amazon CloudFront",
"via": "1.1 d6e48c0d02a2d98c0ccacee7577ee8c2.cloudfront.net (CloudFront)",
"x-amz-cf-id": "rB-gbTCqWq2IeZ-B25-d36rp9j3FmFuicsdPOltDBuYk0HPgLyLj_g==",
"x-forwarded-for": "54.169.155.12, 54.240.148.53",
"x-forwarded-port": "80",
"x-forwarded-proto": "http",
"connection": "keep-alive"

当未配置 ELB 时,我得到以下信息。

"host": "www.example.com",
"accept": "*/*",
"user-agent": "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36   (KHTML, like Gecko) Chrome/40.0.2214.91 Safari/537.36",
"accept-encoding": "gzip, deflate, sdch",
"accept-language": "en-US,en;q=0.8",
"cookie": "_sm_au=aaaaaaaaaaaaaaaaaaaa",
"via": "MY_SQUID_SERVER_NAME_VERSION",
"z-forwarded-for": "AAAAAAAAAAAA",
"cache-control": "max-age=259200",
"xroxy-connection": "keep-alive",
"connection": "Keep-Alive",
"x-forwarded-for": "MY_PROXY_SERVER'S_IP"

当托管在 CloudFront 之后时,我没有收到 Amazon ELB 传递的任何主机信息。我该如何解决这个问题?

谢谢

【问题讨论】:

    标签: php apache amazon-cloudfront amazon-elb


    【解决方案1】:

    根据您发布的问题描述和标头,我认为您需要配置 CloudFront 分配以将主机标头传递给源。看这里:http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/header-caching.html#header-caching-web

    【讨论】:

      【解决方案2】:

      您不需要将 Apache 配置为“ELB / CF 感知”

      您是否已将备用域名 (CNAME) 条目添加到您的 Cloudfront Distribution 配置中?

      ** 更新**

      尝试将您的主机标头转发到源。您可以通过编辑行为、将“转发标头”设置为“白名单”并将“主机”添加为自定义标头来实现此目的,然后允许传播更改。

      【讨论】:

      • 是的,我的发行版中有 CNAME 条目。当所有站点的 CNAME 条目是 Cloudfront Distribution 提供的记录时,所有站点都显示相同的页面。当这些站点的 CNAME 属于 ELB 时,它可以正常工作,但是当我将这些 CNAME 设置为 CDN 默认页面的 CNAME 时,就会得到服务。分发的来源是我的 ELB 的域名。
      猜你喜欢
      • 1970-01-01
      • 2018-04-11
      • 1970-01-01
      • 1970-01-01
      • 2021-08-08
      • 2016-04-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多