如何将Amazon S3网址从http://bucket.amazons3.com/imagepath.jpg更改 为 http://image.mydomain.com/imagepath.jpg
编辑:基本上这样做的全部原因是隐藏我的用户的亚马逊s3网址.
我正在考虑将请求从image.mydomain.com重定向到bucket.amazons3.com的HttpModule.但这需要先由我的服务器处理所有请求然后转发.
如果我理解,您需要指定您的域名而不是S3.为此,您需要编写一个处理程序,它将充当亚马逊服务器的代理.
但是,这实际上会使您的带宽增加一倍,因为您需要将图像发送到客户端以及获取S3的图像.
我不确定是否有任何S3特定的方法来处理这个问题.
以下是Amazon S3从Amazon S3,CNAME记录中采取的具体方式
普通用户可以注册Amazon S3托管并开始上传文件 - 接受托管文件的默认URL结构:
http://s3.amazonaws.com/your-bucket/some-file.txt 如果您计划使用S3来托管媒体文件 - 更具体地说是Flash文件 - 您将遇到Adobe的跨域安全策略.该修复程序要求将托管的S3文件映射为看起来好像是从您自己的域提供的 - 虚拟主机.最简单,最有吸引力的方法是托管文件URL,如下所示:
http://s3.your-site.com/some-file.txt 要开始,请在S3上创建一个您想要作为托管文件的根目录的存储桶.对于此示例,您的S3存储桶将是:
s3.your-site.com最重要的一步是在DNS设置中添加适当的CNAME记录.
名称类型数据s3.your-site.com CNAME s3.amazonaws.com.预计您的新DNS设置最多需要24-48小时才能解决.
在s3.amazonaws.com上创建CNAME .足够了.无需预先添加存储桶名称.
为了详细说明Tez的答案,Amazon S3支持通过虚拟托管存储来映射自定义域.
要使其工作,您的存储桶名称必须是您要映射的完整主机名.
因此,使用原始问题中的示例,创建一个名为S3的存储桶image.mydomain.com
并为其设置CNAME:
image.mydomain.com CNAME image.mydomain.com.s3.amazonaws.com.