当前位置: 首页 > 知识库问答 >
问题:

如何为CloudFront上静态托管的网站的子目录设置默认根对象?

终育
2023-03-14

如何在CloudFront上为静态托管的网站上的子目录设置默认根对象?具体地说,我希望每当用户请求www.example.com/subdir/index.html时,就提供www.example.com/subdir。注意,这是为了交付一个保存在S3桶中的静态网站。此外,我希望使用一个origin访问标识来限制对S3 bucket的访问,仅允许CloudFront访问。

因此,尽管Cloudfront允许我们指定默认根对象,但这只适用于www.example.com,而不适用于www.example.com/subdir。为了绕开这个困难,我们可以将起源域名改为指向S3给出的网站endpoint。这工作得很好,并且允许根对象被统一地指定。不幸的是,这似乎与原始访问身份不一致。具体而言,上述链接说明:

更改为编辑模式

Web分发-单击来源选项卡,单击要编辑的来源,然后单击编辑。只能为原产地类型为S3原产地的原产地创建原产地访问标识。

共有1个答案

黄德明
2023-03-14

有办法做到这一点。不要通过在下拉列表(www.example.com.s3.amazonaws.com)中选择它来将其指向bucket,而是将其指向bucket的静态域(例如www.example.com.s3-website-us-west-2.amazonaws.com):

感谢这个AWS论坛的线程

 类似资料:
  • 我试图将一个静态网站安装到S3中,使用自定义域,并使用CloudFront处理HTTPS。 问题是根路径可以正常工作,而子路径不能正常工作。 显然,所有这些都与默认根对象有关,我在这两个地方都将其配置为index.html。 null 即使Index.html的副本出现在安装目录中,CloudFront也不会返回默认的根对象。 如果将发行版配置为允许CloudFront支持的所有HTTP方法,则默

  • 我有一个java应用程序,我正在按照以下说明将其推送到azure:http://azure.microsoft.com/en-us/documentation/articles/web-sites-java-add-app/ 该应用程序需要位于根目录中,所以之前在新的unix服务器上,我将其命名为root。战争,重新启动tomcat。我试着按照说明把根拔掉。war在/site/wwwroot/we

  • 想改进这个问题吗 通过编辑这篇文章,更新问题,以便用事实和引文来回答。 我计划在AWS上托管一个静态网站(超文本标记语言,css),包括S3、Route 53和CloudFront。我想知道缩放问题是否有任何潜力,例如,如果有100k并发请求出现在网站上。在此基础上,您有什么建议吗? 谢谢你的建议!!

  • 我有一些困难设置静态网站托管使用亚马逊S3和CloudFront。 我们有许多网站,我们希望作为静态网站使用Amazon S3+Cloudfront,我们更喜欢在一个单一的S3桶中托管它们。 我已经启用了此bucket的静态网站托管,默认文档设置为'index.html' 我已经创建了一个Cloudfront web发行版来服务于这个单一的网站,默认根对象设置为'index.html'。 该发行版

  • cmf_get_root() 功能 获取网站根目录 参数 无 返回 string 一般情况为空,如果网站部署在二级目录不为空,返回结果不带/

  • 我正在用Loadbalancer在谷歌云存储桶上建立一个静态站点。站点将使用GridPay生成,然后dist文件夹将保存在bucket中。 我已经设置了索引和错误与gsutil一样在[留档]:https://cloud.google.com/storage/docs/gsutil/commands/web 现在,我面临一个问题:如何将访问子目录的每个url重定向到dir/index。html。这是