【问题标题】:How to setup custom response header in AWS S3如何在 AWS S3 中设置自定义响应标头
【发布时间】:2016-12-21 08:25:14
【问题描述】:

我想让我的应用程序进入离线模式,并且我想注册一个服务工作者。 我的文件托管在 AWS S3 中,并且我在存储桶的根目录中创建了 worker.js。我可能需要返回自定义标头“Service-Worker-Allowed”以响应来自 AWS S3 for worker.js 目前自定义标头需要有 x-amz-meta 标头,我不能使用。有没有通过使用 Cloudfront 或 Cloudfare 添加该标题?或者有什么其他建议?

【问题讨论】:

    标签: amazon-s3 amazon-cloudfront service-worker


    【解决方案1】:

    您不能使用 s3 或 cloudfront 设置自定义响应标头。

    在使用 AWS 时,您有 2 种可能的解决方法。

    1. 代理您的请求。 IE。使用在 ec2 上运行的 nginx/haproxy
    2. 使用lambda@edge

    选项 2,lambda@edge 是一个更简单的解决方案。它旨在从云端边缘节点运行 lambda 函数。您可以使用 lambda@edge 运行自定义 javascript 代码。您可以将代码配置为在将 http 请求发送到 cloudfront 之前或从 cloudfront 接收到 http 响应之后运行。这允许您设置自定义请求或响应标头。请参阅https://medium.com/@tom.cook/edge-lambda-cloudfront-custom-headers-3d134a2c18a2 以获得有关如何执行此操作的好文章。

    【讨论】:

    【解决方案2】:

    在 AWS S3 中,单击对象并转到其设置,您可以在其中添加自定义标头的元数据部分。只需点击添加元数据。

    这也可以在上传数据时以编程方式完成。所有 api 都支持附加元数据。

    【讨论】:

    • 这不适用于自定义标题。只有标准标题
    • 你上面说的方式不对;你不能添加任何你喜欢的标题;正如我之前提到的,所有带有前缀 x-amz-meta 的自定义标头
    【解决方案3】:

    目前不可能。 S3 仅允许您通过前缀添加标头 x-amz-meta 和一些标准的缓存标头。

    【讨论】:

    • 见@hridayesh 回答
    猜你喜欢
    • 2020-02-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-13
    • 2015-03-12
    • 2012-05-12
    • 2022-12-15
    • 1970-01-01
    相关资源
    最近更新 更多