第 6 章 ディレクティブ一覧
6.1 ディレクティブの注意事項
ディレクティブ設定時の注意事項について以下に説明します。
・ AuthGroupFile
・ CacheRoot
・ DocumentRoot
・ ErrorDocument
・ ErrorLog
・ FileETag
・ LimitInternalRecursion
・ Listen
・ ListenBackLog
・ MaxKeepAliveRequests
・ MaxRanges
・ MaxRequestsPerChild
・ SendBufferSize
・ ServerLimit
・ ServerName
・ ThreadsPerChild
注意
本マニュアルと「Apache HTTP サーバ バージョン 2.2 ドキュメント」において、ディレクティブ名の大文字/小文字が異な る場合がありますが、ディレクティブ名に大文字/小文字の区別はないため、問題ありません。
注1) AuthGroupFileディレクティブの注意事項
・ AuthGroupFileディレクティブに指定するグループファイルには、1行にグループ名およびユーザ名を8191バイト以内
の文字列で記述してください。1行に8192バイト以上の文字列を記述すると、8192バイト目以降の文字列が無効とな ります。
注2) CacheRootディレクティブの注意事項
・ ProxyRequestsディレクティブに「On」を設定し、CacheRootディレクティブを設定しなかった場合は、プロキシ機能は
使用できますが、キャッシュ機能は使用できません。
・
CacheRootディレクティブに設定したディレクトリには、以下の権限を設定してください。
- ユーザ:Userディレクティブに設定したユーザ
- グループ:Groupディレクティブに設定したグループ
注3) DocumentRootディレクティブの注意事項
・ 本製品のインストール直後は、DocumentRootディレクティブに設定したディレクトリ配下に、サンプルのコンテンツが 格納されています。Webサーバの運用に応じて、不要なサンプルのコンテンツを削除するか、またはDocumentRoot ディレクティブに指定するディレクトリを変更してください。
・
DocumentRootディレクティブに指定するディレクトリには、NFSサーバへのマウントポイントを指定できますが、Web
サーバ運用中は常にNFSサーバへのアクセスが可能である必要があります。Webサーバを起動する前にNFSサー バが正常に起動されていることを確認してください。また、Webサーバ運用中は、NFSサーバへのアクセスが不可と なるような操作(NFSサーバの電源断など)を行わないでください。
注4) ErrorDocumentディレクティブの注意事項
・ ErrorDocumentディレクティブに指定可能なエラードキュメント、およびそのエラードキュメントに対してクライアントに
通知可能なステータスコードを以下に示します。ステータスコードの意味については、「メッセージ集」の「Webサーバ から通知されるステータスコード」を参照してください。
エラードキュメント ステータスコード
テキストメッセージ
出力するテキストメッセージを指定する場合は、ダブルクォー テーション(")で囲んで指定します。テキストメッセージに、日 本語は使用できません。
300、301、302、303、400、401、
403、404、405、406、407、409、 410、411、413、414、415、416、 417、423、424、500、501、502、
503、504、506、507 内部URL
内部URLにリダイレクトする場合は、先頭にスラッシュ(/)を付 加してリダイレクト先をDocumentRootディレクティブからの相 対パスで指定します。
204、300、301、302、303、401、
403、404、405、406、409、410、
411、413(*)、415、416、423、424、 500、501(*)、502、503、504、506、
507 外部URL
外部URLにリダイレクトする場合は、完全修飾URLでリダイレ クト先を指定します。
204、300、301、302、303、403、 404、405、406、409、410、411、
413、415、416、423、424、500、
501、502、503、504、506、507
*)静的コンテンツへの内部リダイレクトは指定できますが、CGIを利用した内部リダイレクトは指定できません。
注5) ErrorLogディレクティブの注意事項
・ Interstage HTTP Server 2.2では、「syslog」を使用できません。
・ メインホスト・バーチャルホストそれぞれにErrorLogディレクティブを複数設定した場合は、それぞれ最後に定義した 設定が有効となります。
注6) FileETagディレクティブの注意事項
・ FileETagディレクティブの「デフォルト」と「All」の説明に誤りがあります。正しい説明を以下に示します。
誤 正
デフォルト:FileETag INode MTime Size デフォルト:FileETag INode Size MTime All:使用可能なすべてのフィールドを使いま
す。 これは
FileETag INode MTime Size と等価です。
All:使用可能なすべてのフィールドを使いま す。 これは
FileETag INode Size MTime と等価です。
注7) LimitInternalRecursionディレクティブの注意事項
・ 内部リダイレクト数またはサブリクエスト数がLimitInternalRecursionディレクティブの設定値を超過した場合は、クライ アントにステータスコード「500」(Internal Server Error)で応答を返します。
注8) Listenディレクティブの注意事項
・ Listenディレクティブに設定するIPアドレスには、IPv4射影アドレスを指定できません。
・
Windows Server(R) 2003の場合、ListenディレクティブのIPアドレスにはIPv6アドレスのリンクローカルアドレスを指定
できません。リンクローカルアドレスを指定すると、イベントログ(アプリケーション)にエラーメッセージahs00018を出力 し、Webサーバの起動に失敗します。
・
ListenディレクティブのIPアドレスにはIPv6アドレスのリンクローカルアドレスを指定できません。リンクローカルアドレ スを指定すると、システムログにエラーメッセージahs00018を出力し、Webサーバの起動に失敗します。
・ ポート番号には、システム上のアプリケーションを含むすべてのサービスにおいてそれぞれ異なるポート番号を設定 する必要があります。
Interstage HTTP Server 2.2が使用しているポート番号については「A.2 ポート番号」を、本製品が使用しているポート 番号については「システム設計ガイド」の「ポート番号」を参照してください。
注9) ListenBackLogディレクティブの注意事項
・ ListenBackLogディレクティブに設定するキューの最大数の指定範囲およびデフォルト値は、オペレーティングシステ
ムにより異なります。それぞれの値を以下に示します。
キューの最大数の指定範囲 デフォルト値
1~200 ListenBacklog 200
1~2147483647 ListenBacklog 511
・ MaxClientsディレクティブに設定したクライアント同時接続数よりも多くの接続要求があった場合、キューイングされる
数の最大値は、以下の条件に応じた値となります。
多重接続時の動作については、「1.2 Webサーバのプロセス構成(Windows(R))」の「最大多重動作」または「1.3 Web サーバのプロセス構成(Solaris/Linux)」の「最大多重動作」を参照してください。
条件 接続待ちキューの最大数
なし ListenBackLogディレクティブの設定値
+ 1 ListenBackLogディレクティブの設定値
≦待機中TCPコネクションの最大値 (注)
ListenBackLogディレクティブの設定値
条件 接続待ちキューの最大数 ListenBackLogディレクティブの設定値
> 待機中TCPコネクションの最大値 (注)
待機中TCPコネクションの最大値 (注)
注)待機中TCPコネクションの最大値は、各オペレーティングシステムにおいて以下のコマンドを実行して確認しま す。待機中TCPコネクションの設定およびコマンドの詳細については、オペレーティングシステムのドキュメントを参照 してください。
待機中TCPコネクションの最大値 コマンド実行例
tcp_conn_req_max_q /usr/sbin/ndd /dev/tcp tcp_conn_req_max_q
/proc/sys/net/core/somaxconn /sbin/sysctl -n net.core.somaxconn
・ クライアントからの接続要求が以下の値を超過した場合は、この接続要求を受け付けず、ステータスコードも返却し ません。
クライアント同時接続数+接続待ちキューの最大数 +1
クライアント同時接続数+接続待ちキューの最大数 +α α:オペレーティグシステムの仕様に応じた値
注10) MaxKeepAliveRequestsディレクティブの注意事項
・ サーバの機能を最大に設定する場合は、リクエスト数に「0」を指定することを推奨します。「1」以上の値を指定する と、「指定したリクエスト数+1」のリクエストを処理したあと、コネクションを切断します。
注11) MaxRangesディレクティブの注意事項
・ MaxRangesディレクティブに設定するHTTP範囲指定の数がMaxRangesディレクティブの設定値を超過した場合、
HTTP範囲指定は無効となります。
注12) MaxRequestsPerChildディレクティブの注意事項
・
MaxRequestsPerChildディレクティブに設定するHTTPリクエスト数には、常に「0」を指定することを推奨します。「0」以 外の値を指定すると、デーモンプロセスの再起動時に環境定義ファイル(httpd.conf)を再度読み込むため、Webサー バの運用中に環境定義を変更した場合、予期せぬタイミングでWebサーバの動作に反映されることがあります。
注13) SendBufferSizeディレクティブの注意事項
・
オペレーティングシステムに設定されているTCP/IPの送信バッファサイズは、以下のコマンドを実行して確認してくだ さい。TCP/IPの送信バッファサイズの設定およびコマンドの詳細については、オペレーティングシステムのドキュメン トを参照してください。
TCP/IPの送信バッファサイズ コマンド実行例
tcp_xmit_hiwat /usr/sbin/ndd /dev/tcp tcp_xmit_hiwat
tcp_wmem /sbin/sysctl -n net.ipv4.tcp_wmem
TCP/IPの送信バッファサイズ コマンド実行例 [表示結果]
4096 16384 131072
注)TCP/IPの送信バッファサイズは、中央の値で
す。上記の表示結果の場合、「16384」となりま す。
注14) ServerLimit
ディレクティブの注意事項
・ ServerLimitディレクティブは、MaxClientsディレクティブの前に設定してください。
注15) ServerName
ディレクティブの注意事項
・ ServerNameディレクティブに設定するIPアドレスには、IPv6アドレスを指定できません。
注16) ThreadsPerChild
ディレクティブの注意事項
・
ThreadsPerChildディレクティブの設定値を超過するクライアントの接続要求があった場合は、Webサーバ内およびオ ペレーティングシステム内の接続待ちキューに保存されます。オペレーティングシステム内の接続待ちキュー数は、
ListenBacklogディレクティブで最大数を設定します。
多重接続時の動作については、「1.2 Webサーバのプロセス構成(Windows(R))」の「最大多重動作」を参照してくだ さい。
・
Webサーバコネクタと連携する場合は、必ず「1」を設定してください。「1」以外の値を設定した場合は、Webサーバの 動作を保証できません。