我将我的时事通讯 .html 文件存储在 S3 中,并创建了一个函数来提取时事通讯并将它们放入 iFrame 中。
我的问题是我无法为 iFrame 设置自动高度,因为我无法阅读内容。
如果文件在同一个域中,我有一个可以工作的插件。我可以设置一些标题以允许从我的子域访问吗?
我将我的时事通讯 .html 文件存储在 S3 中,并创建了一个函数来提取时事通讯并将它们放入 iFrame 中。
我的问题是我无法为 iFrame 设置自动高度,因为我无法阅读内容。
如果文件在同一个域中,我有一个可以工作的插件。我可以设置一些标题以允许从我的子域访问吗?
S3 有一个称为“虚拟主机”的功能。
一般来说,虚拟主机是从单个 Web 服务器为多个网站提供服务的做法。区分站点的一种方法是使用请求的明显主机名,而不仅仅是 URI 的路径名部分。一个普通的 Amazon S3 REST 请求使用 Request-URI 路径的第一个斜杠分隔组件指定一个存储桶。或者,使用 Amazon S3 虚拟主机,您可以使用 HTTP 主机标头在 REST API 调用中寻址存储桶。在实践中,Amazon S3 将 Host 解释为大多数存储桶可在 http://bucketname.s3.amazonaws.com上自动访问(对于有限类型的请求). 此外,通过以您注册的域名命名您的存储桶并将该名称设为 Amazon S3 的 DNS 别名,您可以完全自定义您的 Amazon S3 资源的 URL,例如: http: //my.bucketname.com/
尝试将您的 S3 存储桶映射到您的域。
有关示例,请参见此处。
通过虚拟主机 URL 访问 S3 存储桶
S3 提供了两种访问内容的方法。一种方法使用 s3.amazonaws.com 主机名 URL,例如:
http://s3.amazonaws.com/mybucket.mydomain.com/myObjectKey
访问 S3 内容的另一种方法是在 URL 中使用虚拟主机名:
http://mybucket.mydomain.com.s3.amazonaws.com/myObjectKey
这两个 URL 都映射到 S3 中的同一个对象。
您可以通过设置将 mybucket.mydomain.com 映射到 mybucket.mydomain.com.s3.amazonaws.com 的 DNS CNAME 来缩短虚拟主机名 URL。有了这个 DNS CNAME 别名,上面的 URL 也可以写成如下:
http://mybucket.mydomain.com/myObjectKey
仅当您为存储桶设置 DNS CNAME 别名时,此较短的虚拟主机名 URL 才有效。