繁体   English   中英

启用网站托管并重命名现有的S3存储桶以获取正确的URL

[英]Enabling Website Hosting and renaming existing S3 bucket in order to get the right URL

目前,我已经设置了一个具有URL的S3存储桶:

https://s3-us-west-2.amazonaws.com/<BucketName>/<Filename>

我想做的是从以下位置从此存储桶中加载文件:

https://images.mysite.com/<Filename>

该AWS文档页面显示

值区名称必须与CNAME相同。 因此,如果创建了CNAME来将images.johnsmith.net映射到images.johnsmith,则http://images.johnsmith.net/filename将与http://images.johnsmith.net.s3.amazonaws.com/filename相同。 .net.s3.amazonaws.com。

  • 这是否意味着我必须重命名存储桶?

  • 如果要重命名存储桶,我是否首先需要“启用网站托管”才能重命名它?

  • 如果要重命名我的存储桶,使用先前存储桶名称引用的文件会发生什么情况?

如果您实际上不想从s3存储桶中运行网站,而只是希望通过自定义域(看起来像您的问题)来提供图片,则可以使用具有Cloudfront分布的自定义域,并且无需移动或重命名任何内容(旧链接仍将继续起作用):

http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/CNAMEs.html

回答您的问题:

  • 没有
  • 旧的链接将不再起作用,但文件本身不会丢失。

如果您不想更改存储桶名称,则需要通过Amazon Cloudfront代理资源(当您对存储桶内容进行更改时,它将要求缓存无效),或者可以使用Apache Web代理启动小型EC2实例。

ServerName yourdomain.com
<Proxy *>
  Order allow,deny
  Allow from all
  SetEnv proxy-chain-auth
</Proxy>

SSLProxyEngine On
ProxyRequests On
ProxyPreserveHost Off
SSLProxyVerify none
SSLProxyCheckPeerCN off
SSLProxyCheckPeerName off
SSLProxyCheckPeerExpire off

ProxyPass / http://your-bucket.s3-website-us-west-2.amazonaws.com/
ProxyPassReverse / http://your-bucket.s3-website-us-west-2.amazonaws.com/

请注意ProxyPreserveHost Off指令,这意味着s3名称仍会传递给目标。 Apache代理的缺点是它成为瓶颈,但是您可以在免费层中使用t2.smalls,然后将它们添加到自动缩放组中

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM