用于网站静态图像的 AWS S3
AWS S3 utilizing for website static images
我们目前正在使用 OpsWorks 将我们的网站迁移到 EC2。现在我们在编码中使用相对 URL 引用站点的所有媒体文件...“/images/image1.jpg”等等。有没有办法在我们的编码中为 /images 目录添加别名以利用 S3 存储桶?我们想要做的是将大尺寸图像放到 S3 上,这样它就不会与我们的每个 S3 实例一起存储。
我知道我们可以为存储桶本身创建一个别名 DNS 条目,但是我们必须在我们的编码中引用完整的 URL。例如,http://images.s3-website-us-east-1.amazonaws.com。我们宁愿在编码中保留 URL 引用相对路径和绝对路径。
我们正在为 PHP/Apache 前端 EC2 实例使用 AWS Linux。
如果您使用的是 Apache,那么您可以使用 Apache 的内置代理支持来代理所有 /images URL。你会想在你的 Apache 配置中添加这样的东西:
ProxyRequests Off
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
ProxyPass /images/ http://images.s3-website-us-east-1.amazonaws.com/
这实际上创建了一个反向代理。当 Apache 服务器看到匹配 /images/ 的请求时,它会到达 S3 URL 以获取对象,然后 return 将其返回给客户端。
您可以将 apache 设置为 return 重定向到存储在 S3 中的图像的 URL。
我们目前正在使用 OpsWorks 将我们的网站迁移到 EC2。现在我们在编码中使用相对 URL 引用站点的所有媒体文件...“/images/image1.jpg”等等。有没有办法在我们的编码中为 /images 目录添加别名以利用 S3 存储桶?我们想要做的是将大尺寸图像放到 S3 上,这样它就不会与我们的每个 S3 实例一起存储。
我知道我们可以为存储桶本身创建一个别名 DNS 条目,但是我们必须在我们的编码中引用完整的 URL。例如,http://images.s3-website-us-east-1.amazonaws.com。我们宁愿在编码中保留 URL 引用相对路径和绝对路径。
我们正在为 PHP/Apache 前端 EC2 实例使用 AWS Linux。
如果您使用的是 Apache,那么您可以使用 Apache 的内置代理支持来代理所有 /images URL。你会想在你的 Apache 配置中添加这样的东西:
ProxyRequests Off
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
ProxyPass /images/ http://images.s3-website-us-east-1.amazonaws.com/
这实际上创建了一个反向代理。当 Apache 服务器看到匹配 /images/ 的请求时,它会到达 S3 URL 以获取对象,然后 return 将其返回给客户端。
您可以将 apache 设置为 return 重定向到存储在 S3 中的图像的 URL。