デフォルトでは、Alibaba Cloud CDN は、クライアント IP アドレスなどのリクエストヘッダーをサポートしています。また、カスタムリクエストヘッダーも設定できます。Alibaba Cloud CDN を使用すると、オリジンサーバーへの送信リクエストに含まれる HTTP ヘッダーを追加、削除、変更、または置き換えできます。
背景情報
HTTP リクエストヘッダーは、HTTP 経由で送信されるリクエストのヘッダー部に含まれる要素です。送信リクエストヘッダーには、サーバーに送信される特定のパラメーターが含まれます。
ポイント・オブ・プレゼンス(POP)がオリジンサーバーから要求されたリソースを取得する際、オリジンサーバーはリクエストヘッダーに含まれる情報を取得できます。CDN を使用すると、オリジンリクエストにおける HTTP ヘッダーを再書き込みできます。リクエストヘッダーに含まれる情報は、特定のビジネス要件を満たすためにオリジンサーバーに渡されます。たとえば、X-Forwarded-For(XFF)ヘッダーを設定することで、クライアントの IP アドレスをオリジンサーバーに転送できます。
オリジンリクエスト内の XFF ヘッダーからオリジンサーバーがクライアントの IP アドレスを取得する方法については、「クライアントの送信元 IP アドレスの取得」をご参照ください。
注意事項
オリジンリクエストとは、Alibaba Cloud CDN が特定の高速化ドメイン名のオリジンサーバーに対して送信する HTTP メッセージです。再書き込みルールは、オリジンサーバーと POP 間で送信されるリクエストの HTTP ヘッダーのみを対象とします。POP とクライアント間で送信されるリクエストの HTTP ヘッダーは再書き込みされません。
ワイルドカードドメイン名に対しては、カスタム送信リクエストヘッダーを指定できません。
デフォルトでは、ApsaraVideo VOD はオリジンリクエストに対して以下の HTTP リクエストヘッダーをサポートしています。これらのヘッダーは設定不要です。
オリジン HTTP ヘッダー
説明
例
Ali-Cdn-Real-Ip
クライアントが POP に接続するために使用する IP アドレス。
Ali-Cdn-Real-Ip:192.168.0.1
X-Forwarded-For
クライアントの IP アドレスおよびオリジンサーバーに接続するために使用される POP の IP アドレス。
X-Forwarded-For:192.168.0.1, 172.16.0.1
X-Client-Scheme
クライアントが POP にリクエストを送信するために使用するプロトコル(HTTP や HTTPS など)。
X-Client-Scheme:http
Host
リクエストがリダイレクトされるオリジンサーバーのドメイン名。
Host:example.com
Via
リクエストが通過するすべての POP の名称。
Via:cn2546-10.l1, cache1.cn2546-10, l2cn2547-7.l2, cache1.l2cn2547-7
操作手順
ApsaraVideo VOD コンソール にログインします。
左側のナビゲーションウィンドウで、構成管理 > CDN 構成 > ドメイン を選択します。
管理対象のドメイン名を検索し、[操作] 列の 設定 をクリックします。
対象ドメイン名の左側ナビゲーションウィンドウで、Back-to-Origin をクリックします。
オリジン HTTP リクエストヘッダー タブをクリックします。
追加 をクリックし、オリジン HTTP リクエストヘッダーを設定します。
重要同一のリクエストヘッダーに対して同時に複数の操作を実行する場合、操作には優先順位があります。優先順位は、以下の順に高いものから低いものへと並びます:置き換え > 追加 > 変更 または 削除。たとえば、同一のリクエストヘッダーに対して「追加」と「削除」を同時に実行した場合、まずヘッダーが追加され、その後削除されます。
追加操作のパラメーター
削除操作のパラメーター
変更操作のパラメーター
置き換え操作のパラメーター
OK をクリックして設定を完了します。
設定例
例 1
シナリオ:X-Forwarded-For 情報をオリジンリクエストヘッダーに追加し、クライアントの IP アドレスおよびプロキシサーバーの IP アドレスをオリジンサーバーに送信します。
デフォルトでは、X-Forwarded-For ヘッダーがオリジンサーバーへのアクセスリクエストに含まれています。X-Forwarded-For ヘッダーの名前を変更する必要がない場合は、追加の設定は不要です。
設定方法:
カスタムリクエストヘッダー名:X-Forwarded-For。
ヘッダー値:$proxy_add_x_forwarded_for。

カスタムリクエストヘッダー名:X-Forwarded-For。
ヘッダー値:$proxy_add_x_forwarded_for。
例 2
シナリオ:クライアントの送信元 IP アドレスをオリジンリクエストヘッダーに追加し、IP アドレスをオリジンサーバーに送信します。
デフォルトでは、Ali_Cdn_Real_Ip ヘッダーがオリジンサーバーへのアクセスリクエストに含まれており、その値はクライアントの送信元 IP アドレスです。Ali_Cdn_Real_Ip ヘッダーの名前を変更する必要がない場合は、追加の設定は不要です。
設定方法:
カスタムリクエストヘッダー名:X-Real-IP。
ヘッダー値:$http_Ali_Cdn_Real_Ip。

例 3
シナリオ:クライアントの送信元ポートをオリジンリクエストヘッダーに追加し、ポート番号をオリジンサーバーに送信します。
デフォルトでは、Ali_Cdn_Real_Port ヘッダーがオリジンサーバーへのアクセスリクエストに含まれており、その値はクライアントの送信元ポートです。Ali_Cdn_Real_Port ヘッダーの名前を変更する必要がない場合は、追加の設定は不要です。
設定方法:
カスタムリクエストヘッダー名:X-Real-Port。
ヘッダー値:$http_Ali_Cdn_Real_Port。




