Amazon web services 隐藏S3下载源代码

Amazon web services 隐藏S3下载源代码,amazon-web-services,amazon-s3,pre-signed-url,Amazon Web Services,Amazon S3,Pre Signed Url,我在下载应用程序中使用invisioncommunity论坛软件。 我通过AmazonS3为我的访客提供下载服务 下载文件时,下载源链接到我的S3 bucket(),我不希望这样。 我希望它看起来像: 我可以使用已签名的URL,还是只是简单地隐藏下载源?或者最好的选择是什么 此外,当我在浏览器中导航到我的bucket URL(未登录到S3)时,我会看到一个XML列表,其中列出了我的bucket中的所有文件。我能把这个藏起来吗 我在Google上找到了大量内容(创建CNAME等),但似乎没有任何内

我在下载应用程序中使用invisioncommunity论坛软件。 我通过AmazonS3为我的访客提供下载服务

下载文件时,下载源链接到我的S3 bucket(),我不希望这样。 我希望它看起来像:

我可以使用已签名的URL,还是只是简单地隐藏下载源?或者最好的选择是什么

此外,当我在浏览器中导航到我的bucket URL(未登录到S3)时,我会看到一个XML列表,其中列出了我的bucket中的所有文件。我能把这个藏起来吗


我在Google上找到了大量内容(创建CNAME等),但似乎没有任何内容真正起作用。

在本文的第一部分,您可以使用一个允许您通过DNS配置使用的

这仍然会返回
x-amz
标题,因此如果您想删除这些标题,您需要向CloudFront发行版添加一个。如果您对这种方法感兴趣,这里有一些

此外,如果您的客户位于离您所在地区更远的地理位置,他们将受益于更少的延迟

关于选项(文件列表),这来自
ListObjects
权限,请确保唯一的公共权限是
GetObject

为此建议的桶策略如下

{
  "Version":"2012-10-17",
  "Statement":[
    {
      "Sid":"PublicRead",
      "Effect":"Allow",
      "Principal": "*",
      "Action":["s3:GetObject"],
      "Resource":["arn:aws:s3:::awsexamplebucket1/*"]
    }
  ]
}

非常感谢你的回答。对于第二部分,我是否需要在策略的资源部分中我的bucket名称后添加一个键?您只需将
awsexamplebucket1
替换为您的bucket名称即可