用于托管媒体的 S3 存储桶,s3fs 安装 catch-22

用于托管媒体的 S3 存储桶,s3fs 安装 catch-22

我正尝试使用 S3 存储桶来托管小型 Web 应用程序的媒体文件(图像、视频和静态文件),但却遇到了一个奇怪的困境...

根据 S3 文档,要提供静态网站(它不是静态网站,只是静态文件),存储桶名称必须与提供文件的域/子域相同,以便 Route53 将其列为 S3 存储桶下的 ALIAS 选项。我这样做了,命名了存储桶media.domain.com并将记录作为 A 记录添加到 Route53 media.domain.com

但是,当使用 S3FS 将此 S3 存储桶挂载到我的 EC2 实例的文件系统时,由于存储桶名称中的点,挂载失败: https://github.com/s3fs-fuse/s3fs-fuse/issues/602

我需要将此存储桶挂载到 EC2 实例,因为我们需要通过 NodeJS 微服务接受文件上传,并将存储目标设置为具有完全读/写权限的 S3 存储桶的位置,因此需要挂载 S3 存储桶,以便 EC2 实例上的微服务可以写入 S3 存储桶。

问题:要使用 Route53 从 S3 提供这些静态文件,名称必须与 A 记录相同。要安装存储桶,文件名中不能有点 - A 记录有点...

我的问题是,是否有人有解决方案,或者能看清大局并告诉我我是否以完全错误的方式处理此事。我对 AWS 还很陌生。

由于成本原因,我们使用 S3 而不是 CloudFlare,目前我们需要更便宜的解决方案。

谢谢!

答案1

您可以尝试常见问题解答中的解决方法:https://github.com/s3fs-fuse/s3fs-fuse/wiki/FAQ#q-https-connecting-failed-if-bucket-name-includes-dot-或者使用其他工具高飞没有这个限制

相关内容