HTTP リクエストとレスポンスのヘッダー追加・変更

HTTP ヘッダーフィールドは、HTTP のリクエストとレスポンスメッセージのヘッダーセクションに存在するコンポーネントです。 HTTP トランザクションの動作パラメーターを定義します。 ヘッダーを作成して設定することにより、ユーザーに対してコンテンツをどのように提供するかを指定することができます。 ヘッダーの追加と編集の方法は以下の通りです。

新しいヘッダーの作成

  1. Fastly コントロールパネルにログインします。
  2. Home ページから、適切なサービスを選択します。検索ボックスで ID、名称、ドメインによる検索が行えます。
  3. Edit configuration をクリックし、アクティブなバージョンをクローンするオプションを選択します。
  4. Content をクリックします。
  5. Create header をクリックします。

    Create a header

  6. 以下の要領で、Create a header ページの各フィールドに入力します。

    • Name フィールドには、ヘッダールール名を入力します (例えば My header)。
    • Type メニューから Request を選択し、Action メニューから Set を選択します。
    • Destination フィールドに、選択したアクションの影響を受けるヘッダーの名前を入力します。
    • Source フィールドに、そのヘッダーに設定する値の参照元を入力します。
    • Ignore if set メニューから No を選択し、Destination フィールドのヘッダーを変更します。変更しない場合は Yes を選択してください。
    • Priority フィールドに、ヘッダールールを実行する順番を入力します。

    下記の各フィールドの説明にて、これらのコントロールそれぞれについて詳しく説明します。

  7. Create をクリックします。

  8. Activate をクリックして設定への変更をデプロイします。

ヘッダーの編集

  1. Fastly コントロールパネルにログインします。
  2. Home ページから、適切なサービスを選択します。検索ボックスで ID、名称、ドメインによる検索が行えます。
  3. Edit configuration をクリックし、アクティブなバージョンをクローンするオプションを選択します。
  4. Content をクリックします。
  5. 編集するヘッダーの名前をクリックします。

    Edit this header ウィンドウ

  6. 以下のようにEdit this header 設定画面の各フィールドに入力します。

    • Name フィールドには、ヘッダールール名を入力します (例えば My header)。
    • Type メニューから Request を選択し、Action メニューから Set を選択します。
    • Destination フィールドに、選択したアクションの影響を受けるヘッダーの名前を入力します。
    • Source フィールドに、そのヘッダーに設定する値の参照元を入力します。
    • Ignore if set メニューから No を選択し、Destination フィールドのヘッダーを変更します。変更しない場合は Yes を選択してください。
    • Priority フィールドに、ヘッダールールを実行する順番を入力します。
  7. Update をクリックします。

  8. Activate をクリックして設定への変更をデプロイします。

各フィールドの説明

以下の表では、Header 設定画面の各フィールドについて説明します。

フィールド説明
名前Name フィールドには、特定のヘッダールールを識別し、覚えやすい単語やフレーズを指定します。
種類Type メニューは、RequestResponse、または Cache に設定することができます。 Request を選択すると、ユーザーからのリクエストが変更され、その変更内容はオリジンサーバーへのリクエストにも及びます。Response を選択すると、ユーザーへ返す HTTP レスポンスが変更されます。 Cache を選択すると、オリジンサーバーからの HTTP レスポンスが、Fastly サーバーに保持される前に変更されます。つまり、どのような変更をしてもキャッシュヒットに記憶されるようになります。
ActionAction メニューは、SetAppendDeleteRegexRegex All のいずれかに設定することができます。 Set (デフォルト) を選択すると、ヘッダーに値を設定します (当該ヘッダーがすでに存在している場合は、値を上書きします)。 Append を選択すると、ヘッダーの末尾に値を追加します (値が存在しない場合は設定します)。 Delete を選択するとヘッダーが削除されます。 この場合、Header 設定画面の Source フィールドは非表示となります。 Regex を選択すると入力した正規表現に基づいて指定したテキストの検索と置換が可能となります。この選択時には、Header 設定画面には Regex および Substitution コントロールが表示されます。  Regex All は、Regex と同じですが、検索と置換を複数回行います。 この選択時には、Header 設定画面には Regex および Substitution コントロールが表示されます。
DestinationDestination フィールドは、Action の設定内容が適用されるヘッダー名を指定します。 ヘッダールールは HTTP ヘッダー以外にも適用できるので、このフィールドは次の形式に従って入力してください: http.Header-Name
SourceSource フィールドは、Set、Append、Regex、および Regex All のアクションを選択すると表示されます。 このフィールドは、Action メニューから Delete を選択すると、Header 設定画面で非表示となります。Source フィールドは新しくヘッダーに設定する値の参照元を指定しますが、数多くの選択肢があります。最も単純なのは、"My Static String" などの静的文字列です (引用符を含む)。その他のオプションには client.ipreq.http.Another-Headerclient.geo.city などがあります。主要な情報の参照元については、下記の参照元一覧を参照してください。
RegexRegex フィールドは、Action メニューで Regex または Regex All を選択した場合のみ Header 設定画面に表示されます。このフィールドを使用すると、入力した正規表現に基づいて文字列の検索と置換を行うことができます。
SubstitutionSubstitution フィールドは、Action メニューで Regex または Regex All を選択した場合のみ Header 設定画面に表示されます。このオプションは、正規表現によって削除されたテキストを Substitution フィールドに入力したテキストに置き換えます。
Ignore if setデフォルトでは、このフィールドは No に設定されています。これは、変更しようとするヘッダーがすでに存在する場合、そのヘッダーを変更することを意味します。
PriorityPriority フィールドは、ヘッダールールを実行する順番を決定します (例えば、このフィールドを1にすると、そのヘッダールールが最初に実行されます)。最初にいくつかのヘッダーを設定し、それらに基づいてさらに他のヘッダーを設定する場合は、このフィールドが重要になります。

主要な情報の参照元

名前有効なタイプ説明
req.http.Fastly-Client-IPリクエスト、キャッシュ、レスポンス本当のクライアント IP アドレス。
client.ip および client.identityリクエスト、キャッシュ、レスポンスクライアント IP アドレス。 これらの変数は利用可能ですが、ソース IP アドレスを常に表示しているとは限りません。例えば、オリジンシールドが有効な場合、エッジノードの IP が表示されることがあります。 本当のクライアント IP アドレスを使用するには、req.http.Fastly-Client-IP を用いてください。

重要: クライアント IP データは機密情報として扱われることがあります。ストリームおよび保存する場合には機密の IP データの安全を保護してください。
server.identityリクエスト、キャッシュ、レスポンスリクエストを処理している Fastly サーバーの固有の識別子。
server.regionリクエスト、キャッシュ、レスポンスFastly サーバーのあるリージョン。
server.datacenterリクエスト、キャッシュ、レスポンスFastly サーバーのあるデータセンター。
req.urlリクエスト、キャッシュ、レスポンスクライアントから送られた HTTP リクエストの URL。
req.http.*リクエスト、キャッシュ、レスポンスHTTP リクエストのヘッダーの値。アクセス: req.http.HeaderName
beresp.statusキャッシュオリジンサーバーから返されるステータスコード。
beresp.http.*キャッシュオリジンからの HTTP レスポンスのヘッダーの値。アクセス: beresp.http.HeaderName
resp.statusレスポンスクライアントへ返されるステータスコード。
resp.http.*レスポンスクライアントへ返される HTTP レスポンスのヘッダーの値。アクセス: resp.http.HeaderName
client.geo.*リクエスト、キャッシュ、レスポンスクライアントの IP の位置情報値。

翻訳についての注意事項
このガイドは役に立ちましたか?

このフォームを使用して機密性の高い情報を送信しないでください。サポートが必要な場合は、サポートチームまでご連絡ください。このフォームは reCAPTCHA によって保護されており、Google のプライバシーポリシー利用規約が適用されます。