![](/img/trans.png)
[英]How to change AWS S3 bucket long URL to short S3 URL when hosting a static website?
[英]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>
值区名称必须与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.