首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >具有单一CloudFront分布的多个网站不会被路由

具有单一CloudFront分布的多个网站不会被路由
EN

Stack Overflow用户
提问于 2015-02-09 10:11:53
回答 2查看 1.9K关注 0票数 2

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

然而,当我把创建一个CloudFront发行版与原产地作为ELB,我的所有网站开始得到服务的默认页面。如何将apache配置为CDN和ELB感知。

我想我可以使用一些标题,但看起来它不可能提供任何服务。下面是我在CloufFront后面为请求获取的头。CDN->ELB->MY_APPLICATION

代码语言:javascript
复制
"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时,我得到以下信息。

代码语言:javascript
复制
"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后面时,我不会得到任何由亚马逊的ELB传递的主机信息。我怎么才能避开这一切?

谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-02-09 20:29:53

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

票数 6
EN

Stack Overflow用户

发布于 2015-02-09 17:35:02

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

您是否在Cloudfront分发配置中添加了备用域名(CNAME)项?

**最新情况**

尝试将您的主机标头转发到原点。您可以这样做:编辑行为,将“前进标题”设置为“白名单”,并将“主机”添加为自定义标题,然后允许更改传播。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28407299

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档