我需要为整个s3存储桶设置缓存控制头,包括现有和未来的文件,并希望在存储桶策略中执行此操作.我知道我可以编辑现有的,我知道如果我自己上传它们如何在put上指定它们但不幸的是上传它们的应用程序无法设置标题,因为它使用s3fs复制那里的文件.
因此,我有一个托管在 AWS S3 存储桶上的 React 应用程序(它之前还有一个 CloudFront 发行版)。使用 GitHub Actions 工作流程,我使用aws-cli s3sync 命令在 S3 上部署构建输出:
aws s3 sync build s3://mybucket --delete --acl public-read
Run Code Online (Sandbox Code Playgroud)
现在,我想使用CreateReactApp 文档中指定的起始配置执行静态文件缓存:
Cache-Control: max-age=31536000对于build/static资产来说,Cache-Control: no-cache对于其他一切(以确保浏览器始终检查更新的 index.html 文件)如何根据文件/文件夹路径在 S3 对象上应用此类条件配置?
--cache-control的 flag ,但我没有找到一种应用不同缓存控制的直接、单行方式。