2016-08-15 14 views
3

私のアプリケーションをオフラインモードにしたいと思い、サービスワーカーを登録したいと思います。 私のファイルはAWS S3でホストされています。私は自分のバケットのルートにworker.jsを作成しました。私はworker.jsのAWS S3からカスタムヘッダー「Service-Worker-Allowed」を返す必要があるかもしれません 現在、カスタムヘッダーには私が使用できないx-amz-metaヘッダーが必要です。 CloudfrontやCloudfareを使用してそのヘッダーを追加する必要はありますか?または他の提案?AWS S3でカスタムレスポンスヘッダーを設定する方法

答えて

1

AWS S3では、オブジェクトをクリックして設定に移動し、カスタムヘッダーを追加できるメタデータセクションがあります。メタデータの追加をクリックするだけです。

これは、データをアップロードするときにプログラムで実行することもできます。すべてのAPIは追加のメタデータをサポートしています。

+0

カスタムヘッダーでは機能しません。標準ヘッダーのみ –

2

現時点では不可能です。 S3では、プレフィックス x-amz-metaでヘッダーを追加したり、キャッシュ用の標準ヘッダを追加することしかできません。

4

カスタム応答ヘッダーをs3またはcloudfrontで設定することはできません。

AWSを使用する場合、2つの回避策があります。

  1. お客様のリクエストをプロキシします。私。 ec2で動作するnginx/haproxyを使用
  2. [email protected]を使用しています。

オプション2 [email protected]は、より簡単なソリューションです。これは、クラウドフロントエッジノードからラムダ関数を実行するように設計されています。ラムダ@エッジを使ってカスタムJavaScriptコードを実行することができます。 http要求がクラウドフロントに送信される前、またはhttp応答がクラウドフロントから受信される前に実行するようにコードを設定できます。これにより、カスタム要求または応答ヘッダーを設定できます。これを行う方法の良い書き方については、https://medium.com/@tom.cook/edge-lambda-cloudfront-custom-headers-3d134a2c18a2を参照してください。

関連する問題