繁体   English   中英

如何使用Apache在EC2服务器上托管网站,但在同一子域下的S3上托管映像?

[英]How can I host my website on an EC2 Server using Apache but host my images on S3 under the same sub domain?

因此,我将网站托管在运行apache的EC2服务器上。 一切正常。

我遇到的问题是我希望将图像托管在S3上(并且可能缓存在CloudFront上),而不是在EC2服务器上,但是希望两者都可以在同一域/子域下访问。

例如,说我的网站是www.helloworld.com 我希望可以在www.helloworld.com/images/foobar.png上访问我的图像。 我希望将foobar.png托管在S3上,而不是每个EC2服务器上。 我该怎么做呢?

我可以在AWS控制台中进行配置吗?还是可以在Apache中使用任何重写规则? 我知道我总是可以设置一个控制器来从S3下载图像并将其转发给用户,但这对我来说似乎是错误的。

为此,您需要在前面放置一个负载平衡器/代理以拦截所有请求并进行相应调度。 无论如何(出于可用性的原因)这可能不是一个坏主意,但是为图像使用单独的主机名也不应该成为问题(这不像用户必须查看或键入这些URL)。

使用CloudFront,您可以让CloudFront接收初始请求,然后根据路径将请求转发到EC2实例或S3存储桶。

例如,您可以设置以下内容:

  • /images/下的路径上将使用S3起源的CloudFront行为,并且
  • 默认设置(对于其他所有设置)将进入您的EC2实例来源。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM