AWS S3发送download.txt文件

时间:2019-04-12 17:34:52

标签: amazon-web-services amazon-s3 amazon-cloudfront

我正在CloudFront后面设置一个S3存储桶,用于提供静态资产。我的问题是在没有文件名的任何目录上执行/时,浏览器将下载一个0字节的download.txt。我已经为静态网站托管设置了S3存储桶,并且已公开,因此可以访问我的资产。

  1. https://s3-bucket.domain.com/path/to/file.jpg->获得资产,开始工作
  2. https://s3-bucket.domain.com/path/to/file-bad-name->错误状态403,正常工作。从S3渲染error.html
  3. https://s3-bucket.domain.com/path/to/->发送download.txt,不起作用

如何将#3配置为不发送download.txt而不显示错误页面?

2 个答案:

答案 0 :(得分:0)

那里发生的事情很少。

  1. 如果要将路径指向S3对象,则需要将其映射到新的原点。
  2. 您的模式在CloudFront中没有优先级。

如果您修复了上述一项或两项,那么它应该可以正常工作。

答案 1 :(得分:0)

  

我为静态网站托管设置了S3存储桶,并且已公开

...但是您在定义原点时从下拉列表中选择了存储桶...是吗?

您需要配置原始域名,以将网站托管端点用于存储桶。

  

在配置CloudFront分配时,请为来源输入存储桶的Amazon S3静态网站托管终端节点。此值显示在Amazon S3控制台中“静态网站托管”下“属性”页面上。例如:http://bucket-name.s3-website-us-west-2.amazonaws.com

     

https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/DownloadDistS3AndCustomOrigins.html#concept_S3Origin_website

如果不执行此操作,并且使用S3控制台在存储桶中创建了文件夹,则当前正在观察的是预期的行为,这是控制台创建这些虚构文件夹的方式的一个副作用。