首页 文章

使用amazon s3获取可下载的内容网站

提问于
浏览
0

我正在 Build 一个网站,它只是一个高分辨率照片和其他可下载内容(zip,rar,pdf ....)的图库,用户可以上传文件,这些文件可供所有人访问和共享 .

我的问题:亚马逊s3对这方面有好处吗?或者我应该使用自己的服务器 . (整个网络可能会共享大量数据) . 我需要你的建议 .

谢谢你:D

1 回答

  • 2

    Amazon S3是可下载内容的绝佳解决方案 . 它具有高可用性,已经达到最大规模,极低的维护成本和极好的价格 .

    适用于您的用例的最简单的S3解决方案是:

    • 创建一个存储桶,该存储桶将代表您希望公开访问的文件的存储位置 .

    • 您需要上传一个S3将作为索引文档的文件,我只需上传一个名为index.html的文件,其内容为"hello" .

    • 单击存储桶的属性

    • 展开选项"Static Website Hosting"

    • 选择选项"Enable Website Hosting",输入index.html作为索引页面,然后单击“保存” . 保存完成后,请记下此部分中显示的"Endpoint"值,这是您的存储桶的DNS名称 .

    • 点击并展开"Permissions"部分

    • 单击"Add Bucket Policy"并添加我下面粘贴的策略,确保在您看到"my-bucket-name"的位置设置自己的存储桶名称 .

    桶政策:

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

    您的存储桶现在充当静态主机,并且您已授予匿名用户下载存储桶中内容所需的权限 .

    接下来,按照您认为合适的任何关键结构上传您希望提供的任何文件 .

    Next Steps:

    提供付费/私人内容

    如果您还想托管付费内容,则应使用S3和CloudFront查看提供私人内容 . 当你准备尝试这个时,这里有一些阅读! http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/PrivateContent.html

    自定义静态网站的DNS名称

    您可以在区域文件中为您拥有的指向您的存储区的域创建一个CNAME记录,使其不那么冗长,并为您的网站打上更好的品牌 . 如果您使用的是Route 53,请创建一个新的记录集,将类型设置为"A" record,然后选择"Yes"作为选项别名记录,然后将S3静态网站的 endpoints 名称粘贴到值字段中以创建自定义DNS记录你的水桶 . 了解有关Alias唱片的更多信息:https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/resource-record-sets-values-alias.html#rrsets-values-alias-alias-target

相关问题