翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
カスタムヘッダーの設定
Amplify アプリのカスタム HTTP ヘッダーを指定するには、2 つの方法があります。ヘッダーは Amplify コンソールで指定することも、アプリの customHttp.yml
ファイルをダウンロードして編集し、プロジェクトのルートディレクトリに保存することで指定することもできます。
アプリのカスタムヘッダーを設定し、コンソールに保存するには
-
AWS Management Console にサインインし、Amplify コンソール
を開きます。 -
カスタムヘッダーを設定するアプリを選びます。
-
ナビゲーションペインで、[ホスティング] の次に [カスタムヘッダー] を選択します。
-
[カスタムヘッダー] ページで、[編集] を選択します。
-
[カスタムヘッダーの編集] ウィンドウで、[カスタムヘッダーの YAML 形式] を使用してカスタムヘッダーの情報を入力します。
-
pattern
には、一致するパターンを入力します。 -
key
に、カスタムヘッダーの名前を入力します。 -
value
に、カスタムヘッダーの値を入力します。
-
-
[保存] を選択します。
-
アプリを再デプロイして新しいカスタムヘッダーを適用します。
-
CI/CD アプリケーションの場合は、デプロイするブランチに移動し、「このバージョンを再デプロイ」を選択します。Git リポジトリから新しいビルドを実行することもできます。
-
手動デプロイアプリの場合は、Amplify のコンソールでアプリを再度デプロイします。
-
アプリケーションのカスタムヘッダーを設定し、リポジトリのルートに保存するには
-
AWS Management Console にサインインし、Amplify コンソール
を開きます。 -
カスタムヘッダーを設定するアプリを選びます。
-
ナビゲーションペインで、[ホスティング] を選択し、[カスタムヘッダー] を選択します。
-
[カスタムヘッダー] ページで、[YML のダウンロード] を選択します。
-
ダウンロードした
customHttp.yml
ファイルを任意のコードエディターで開き、カスタムヘッダー YAML 形式を使用してカスタムヘッダーの情報を入力します。-
pattern
には、一致するパターンを入力します。 -
key
に、カスタムヘッダーの名前を入力します。 -
value
に、カスタムヘッダーの値を入力します。
-
-
編集した
customHttp.yml
ファイルをプロジェクトのルートディレクトリに保存します。モノレポを使用している場合は、リポジトリのルートにcustomHttp.yml
ファイルを保存します。 -
アプリを再デプロイして新しいカスタムヘッダーを適用します。
-
CI/CD アプリの場合、新しい
customHttp.yml
ファイルを含む Git リポジトリから新しいビルドを実行します。 -
手動デプロイアプリの場合、Amplify コンソールでアプリを再度デプロイし、アップロードしたアーティファクトに新しい
customHttp.yml
ファイルを含めます。
-
注記
customHttp.yml
ファイルに設定され、アプリのルートディレクトリにデプロイされたカスタムヘッダーは、Amplify コンソールの [カスタムヘッダー] セクションで定義されているカスタムヘッダーよりも優先されます。
セキュリティカスタムヘッダーの例
カスタムセキュリティヘッダーによって、HTTPS を適用し、XSS 攻撃を回避して、ブラウザをクリックジャックから守ることができます。次の YAML 構文を使用して、カスタムセキュリティヘッダーをアプリに適用します。
customHeaders: - pattern: '**' headers: - key: 'Strict-Transport-Security' value: 'max-age=31536000; includeSubDomains' - key: 'X-Frame-Options' value: 'SAMEORIGIN' - key: 'X-XSS-Protection' value: '1; mode=block' - key: 'X-Content-Type-Options' value: 'nosniff' - key: 'Content-Security-Policy' value: "default-src 'self'"
キャッシュコントロールカスタムヘッダーの設定
Amplify でホストされるアプリは、オリジンから送信される Cache-Control
ヘッダーを尊重します。ただし、定義したカスタムヘッダーで上書きする場合は除きます。Amplify は、200 OK
ステータスコードで成功したレスポンスにのみキャッシュコントロールカスタムヘッダーを適用します。これにより、エラー応答がキャッシュされ、同じリクエストを行う他のユーザーに送信されるのを防ぎます。
s-maxage
ディレクティブを手動で調整して、アプリのパフォーマンスとデプロイの可用性をより細かく制御できます。たとえば、コンテンツがエッジにキャッシュされる時間を長くするには、デフォルトの 600 秒 (10 分) よりも長い値に s-maxage
を更新して Time To Live (TTL) を手動で延長できます。
s-maxage
のカスタム値を指定するには、次の YAML 形式を使用します。この例では 3600 秒 (1 時間) の間、関連するコンテンツをエッジにキャッシュします。
customHeaders: - pattern: '/img/*' headers: - key: 'Cache-Control' value: 's-maxage=3600'
ヘッダーによるアプリケーションパフォーマンス制御の詳細については、「アプリのパフォーマンスを向上させるような Cache-Control ヘッダーの使用」を参照してください。