HTTP Rangeリクエストでは、クライアント(Webブラウザ)がRangeヘッダにより、分割サイズと分割数を指定してリクエストします。WebOTX ASはそのヘッダに対応して要求されたコンテンツを分割送信しますが、分割数には既定値で最大10個という上限があります。
分割数は次のように指定されます。
Range: bytes=16-19, 8815-26038, ...
分割数の上限を超えている場合はクライアントに403エラーが返却されます。また、アクセスログにHTTPステータスコード206(HTTP Rangeリクエストを意味するコード)と403(アクセス権なし)が以下のようにセットで記録されますので該当リクエストを確認してください。
[DD/MMM/2017:HH:MM:SS +0900] "GET /examples/abcd HTTP/1.1" 206 xxxx x
・・・
[DD/MMM/2017:HH:MM:SS +0900] "GET /examples/abcd HTTP/1.1" 206 xxxx xx
[DD/MMM/2017:HH:MM:SS +0900] "GET /examples/abcd HTTP/1.1" 403 xxx xx
分割数の上限を超えている場合は、次のようにmaxHeaderRangeItemsパラメータで必要な分割数に拡張してください。ただし、分割数はアプリケーションやブラウザ上で動作するツールがリクエストに設定するRangeヘッダの分割数を確認し、大き過ぎない値を設定してください。
1. ドメインを停止します
2. 次のファイルを開きます
{ドメインディレクトリ}/config/default-web.xml
※Webアプリケーション内のweb.xmlに指定してもかまいません。
3. パラメータ maxHeaderRangeItems を追加します(★部分)。
値は分割個数です。
<servlet>
<servlet-name>default</servlet-name>
<servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class>
<init-param>
<param-name>debug</param-name>
<param-value>0</param-value>
</init-param>
<init-param>
<param-name>listings</param-name>
<param-value>false</param-value>
</init-param>
★ <init-param>
★ <param-name>maxHeaderRangeItems</param-name>
★ <param-value>30</param-value>
★ </init-param>
<load-on-startup>1</load-on-startup>
</servlet>
【対象製品】Application Server
【確認済みのバージョン】すべて
【確認済みのエディション】すべて
【確認済みの対象OS】すべて
【確認済みのJavaバージョン】すべて
【コンポーネント】Webコンテナ
【カテゴリー】運用/設定