使用CloudFront和目录重定向的AWS S3静态网站托管

4
我的问题不仅涉及在S3上托管静态网站,还要更深入一些。
我的计划是在S3上创建一个名为www.foo.com的存储桶,并将域名指向该存储桶。
因此,我存储桶中的每个文件都是公开的,并且是网站的一部分。
但是有一个例外:
当我导航到www.foo.com/blog时,我希望对在EC2容器上托管的博客进行内部重定向。
通过使用具有proxy_pass定义的Nginx可以很容易地实现这一点。但是S3并不是Nginx。
我知道可以应用一些重定向规则,但我该如何进行内部重定向,让用户看起来是在http://www.foo.com/blog, 但博客实际上存储在另一台机器上呢?

你有一个标签 amazon-cloudfront,但你没有提到你是否在使用它? - Dusan Bajic
我会使用CloudFront来服务S3资产。 - daminufe
2个回答

3

既然您提到正在使用CloudFront,您想使用它来重定向而不是S3。您需要在CloudFront分发中配置两个源,即您的S3存储桶和EC2服务器。您需要将S3配置为默认源,并创建一个缓存行为,其中包括指向EC2源的/blog模式。


我尝试过了,但是没有成功。我无法理解CloudFront测试,因为每次更改设置都需要等待2小时才能传播。@mark-b有什么想法吗? - daminufe

0
这个网站是一个纯静态的网站,没有使用vue.js、react.js等等...在这种情况下,我认为你需要一个javascript代码来进行重定向,否则使用一个javascript框架你可以很容易地重定向到另一个页面...在cloudfront中,我知道可以根据特定的错误号码如404、303等进行重定向。
;)

你的回答可以通过提供更多支持性信息来改进。请编辑以添加进一步的细节,例如引用或文档,以便他人能够确认你的回答是否正确。你可以在帮助中心找到关于如何撰写好回答的更多信息。 - Community
如果你有新的问题,请点击提问按钮进行提问。如果有需要提供背景信息,请包含这个问题的链接。- 来自评论 - Ram Chander

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接