【发布时间】: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