Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon s3 S3静态网站中的目录列表_Amazon S3_Amazon Web Services - Fatal编程技术网

Amazon s3 S3静态网站中的目录列表

Amazon s3 S3静态网站中的目录列表,amazon-s3,amazon-web-services,Amazon S3,Amazon Web Services,我已经设置了一个S3存储桶来承载静态文件 使用网站端点时(http://.s3-website-us-east-1.amazonaws.com/):它强制我设置索引文件。当找不到文件时,它会抛出一个错误,而不是列出目录内容 当使用s3端点(.s3.amazonaws.com)时:我得到一个文件的XML列表,但我需要一个HTML列表,用户可以单击指向该文件的链接 我曾尝试在AWS控制台中为“所有人”将所有文件和存储桶本身的权限设置为“列表”,但仍然没有成功 我也尝试过一些javascript替代方

我已经设置了一个S3存储桶来承载静态文件

使用网站端点时(http://.s3-website-us-east-1.amazonaws.com/):它强制我设置索引文件。当找不到文件时,它会抛出一个错误,而不是列出目录内容

当使用s3端点(.s3.amazonaws.com)时:我得到一个文件的XML列表,但我需要一个HTML列表,用户可以单击指向该文件的链接

我曾尝试在AWS控制台中为“所有人”将所有文件和存储桶本身的权限设置为“列表”,但仍然没有成功

我也尝试过一些javascript替代方案,但它们要么在网站url(重定向到索引文件)下不起作用,要么根本不起作用。作为最后的手段,一个可折叠的javascript列表总比没有好,但我还没有找到一个好的


这可能吗?如果是这样,我是否需要更改权限、ACL或其他内容?

这可能会解决您的问题。每个人组的安全设置: (为此,您需要bucketexplorer.com软件)


如果您正在共享HTTP文件,您可能希望也可能不希望人们能够列出bucket(文件夹)的内容。如果您希望在有人输入bucket名称时列出bucket内容(http://s3.amazonaws.com/bucket_name/),然后编辑访问控制列表,并为Everyone组提供读取的访问级别(桶中的内容物也是如此。)如果您不希望bucket contents list可以启用,但确实希望在其中共享文件,请为bucket本身禁用Everyone组的读取访问,然后为bucket中的各个文件启用读取访问。

我遇到了类似的问题,并创建了一个JavaScript和iframe解决方案,该解决方案对于directori列表非常有效S3网站文件中的。您只需将几个.html文件放入要列出的目录中即可。您可以在此处找到它:

我发现,它允许我在主网站上设置一个目录,允许浏览s3 bucket。它工作得很好,设置起来也很简单。

我创建了一个简单的JS,它创建了一个HTML样式的目录索引,您正在寻找:

自述文件中有处理Amazon S3“网站”存储桶的具体说明:

您可以在此s3存储桶(在网站模式下)上看到一个实际的脚本示例:


使用纯JavaScript和AWS SDK JavaScript API中的另一种方法库。不需要PHP或其他引擎,只需要纯web站点(Apache甚至IIS)

不打算部署在您自己的bucket上(对我来说,没有意义)

使用AWS的新IAM用户,您可以提供对bucket的更具体、更安全的访问。无需将bucket发布到网站并公开

如果您想确保访问的安全,可以使用常规方法对当前网站的用户进行身份验证


希望这也有帮助!

还有以下解决方案:


类似于,但我无法使其与Internet Explorer一起工作。因此,我可以与IE一起工作,还可以按名称、大小和日期对文件进行排序。缺点是,它不跟随文件夹:只显示一个级别的文件。

我创建了一个简单得多的解决方案。只需将index.html文件放在文件夹的根目录中,它就可以我会做这项工作。不需要配置。

我尝试过这种方法,它提供了一个XML列表而不是HTML列表。iFrame是一个好主意。我最终找到了一个程序来完成我需要的工作。我将发布一个答案。从网站上看:iFrame黑客可能通过介绍(2012-09-01)得以避免S3中的CORS支持。因此,我不能保证演示站点将保持正常运行。你能给我指一下如何做到这一点的文档吗?干杯,我猜这是因为这是“正确的”回答,还没有人想出一种在S3上100%实现这一点的方法。这个解决方案需要另一台服务器来托管这个迷你应用。@MerynStol我在回答中添加了一个指向一个实例的链接。请注意,使用一点css fu可以使它看起来更漂亮(我的目标是模仿经典的apache样式目录列表…)我喜欢这个。也许我们可以把HTML/JS/CSS文件上传到S3 bucket,作为一个静态网站。我会试试这个。如果你把你的bucket映射到一个域,然后使用https,这是行不通的。在这两件事上我没有选择。