アプリケーションをオフラインモードにし、ServiceWorkerを登録したい。私のファイルはAWSS3でホストされており、バケットのルートにworker.jsを作成しました。 AWS S3 forworker.jsからの応答としてカスタムヘッダー「Service-Worker-Allowed」を返す必要がある場合があります。現在、カスタムヘッダーにはx-amz-metaヘッダーが必要ですが、これは使用できません。 CloudfrontまたはCloudfareを使用してそのヘッダーを追加する方法はありますか?または他の提案はありますか?
S3またはcloudfrontでカスタムレスポンスヘッダーを設定することはできません。
AWSを使用する場合、2つの可能な回避策があります。
lambda@Edge
を使用します。オプション2、lambda@Edge
はより簡単なソリューションです。クラウドフロントエッジノードからラムダ関数を実行するように設計されています。 lambda @ Edgeを使用して、カスタムjavascriptコードを実行できます。 httpリクエストがクラウドフロントに送信される前、またはhttpレスポンスがクラウドフロントから受信された後に実行するようにコードを設定できます。これにより、カスタムのリクエストヘッダーまたはレスポンスヘッダーを設定できます。これを行う方法の詳細については、 https://medium.com/@tom.cook/Edge-lambda-cloudfront-custom-headers-3d134a2c18a2 を参照してください。
現時点では不可能です。 S3では、プレフィックスx-amz-metaによるヘッダーと、キャッシュ用の標準ヘッダーのみを追加できます。
AWS S3で、オブジェクトをクリックしてその設定に移動します。メタデータセクションでは、カスタムヘッダーを追加できます。 [メタデータの追加]をクリックするだけです。
これは、データのアップロード中にプログラムで実行することもできます。すべてのAPIは追加のメタデータをサポートしています。