Hitachi

Cosminexus V11 アプリケーションサーバ Cosminexus HTTP Server


6.2.8 T,Uで始まるディレクティブ

〈この項の構成〉

(1) ThreadLimit スレッド数 [図データ]

〜((1−15000))《1024》

(a) 内容

サーバプロセスに生成するサーバスレッド数の上限値を指定します。このディレクティブの指定値に従い,サーバ稼働情報を保持する共有メモリ領域を確保します。そのため,ThreadsPerChildディレクティブで指定した実際に動作するサーバスレッド数以上の値を指定した場合,使用しない余分な共有メモリ領域を確保します。このディレクティブにはThreadsPerChildディレクティブと同じ値を指定することを推奨します。

また,このディレクティブおよびThreadsPerChildディレクティブにシステムが扱える以上の値を指定した場合,Webサーバが起動できないことや不安定になることがあるため,必要以上に大きな値を指定しないでください。

このディレクティブは再起動で指定値を変更できません。指定値を変更する場合は,Webサーバを停止させたあとに起動させてください。

(b) 記述できる場所

httpsd.conf

(2) ThreadLimit スレッド数 [図データ]

〜((1−1000))《64》

(a) 内容

サーバプロセスに生成するサーバスレッド数の上限値を指定します。このディレクティブの指定値に従い,サーバ稼働情報を保持する共有メモリ領域を確保します。そのため,ThreadsPerChildディレクティブで指定した実際に動作するサーバスレッド数以上の値を指定した場合,使用しない余分な共有メモリ領域を確保することになります。また,Webサーバが起動できないことや不安定になることがあるため,このディレクティブにはThreadsPerChildディレクティブと同じ値を指定することを推奨します。

このディレクティブは再起動で指定値を変更できません。指定値を変更する場合は,Webサーバを停止させたあとに起動させてください。

このディレクティブは,worker MPMを使用する場合に指定できます。

(b) 記述できる場所

httpsd.conf

(3) Timeout 時間

〜((0−65535))《60》(単位:秒)

(a) 内容

次の待ち時間を秒単位で指定します。0を指定すると即時タイムアウトとなるため,推奨しません。なお,少しのデータでも送受信できた場合,待ち時間はリセットされます。

  • クライアントからのリクエスト受信(コネクション確立後,HTTPプロトコルの受信)中にデータを受信しなくなった場合の待ち時間

  • クライアントへのレスポンス送信中にデータを送信できなくなった場合の待ち時間

  • CGIプログラムへのリクエスト送信中にデータを送信できなくなった場合の待ち時間

  • CGIプログラムへのリクエスト送信後からレスポンス受信までの待ち時間

  • CGIプログラムからのレスポンス受信中にデータを受信しなくなった場合の待ち時間

  • CGIプログラムからのレスポンス受信後,入出力用のパイプを閉じるまでの待ち時間

  • リバースプロキシを使用している場合の,バックエンドサーバへのリクエスト送信中にデータを送信できなくなった場合の待ち時間

  • リバースプロキシを使用している場合の,バックエンドサーバへのリクエスト送信後からレスポンス受信までの待ち時間

  • リバースプロキシを使用している場合の,バックエンドサーバからのレスポンス受信中にデータを受信しなくなった場合の待ち時間

(b) 記述できる場所

httpsd.conf

(c) 指定例

Timeout 300

(4) ThreadsPerChild スレッド数 [図データ]

〜((1−ThreadLimitディレクティブ指定値))《64》

(a) 内容

HTTP Serverとして起動するスレッド数を指定します。指定したスレッド数はHTTP Serverの最大同時接続数(TCP/IPのコネクション最大数)を示します。

(b) 記述できる場所

httpsd.conf

(5) ThreadsPerChild スレッド数 [図データ]

〜((1−ThreadLimitディレクティブ指定値))《25》

(a) 内容

一つのサーバプロセスに生成するサーバスレッド数を指定します。

このディレクティブは,worker MPMを使用する場合に指定できます。

(b) 記述できる場所

httpsd.conf

(6) TraceEnable {OnOffextended}

(a) 内容

TRACEメソッドによるリクエストを拒否するかどうかを指定します。

On:TRACEメソッドによるリクエストを許可します。ただし,リクエストボディが付加されている場合は,413 Request Entity Too Largeを応答します。

Off:TRACEメソッドによるリクエストを拒否します。TRACEメソッドによるリクエストの場合は,ステータスコード403 Forbiddenを応答します。

extended:TRACEメソッドによるリクエストを許可します。リクエストボディが付加されていても許可します。ただし,リバースプロキシ以外のリクエストボディサイズの上限は64KBです。

(b) 記述できる場所

httpsd.conf,<VirtualHost>

(c) 指定例

TraceEnable Off

(7) TransferLog {ファイル名パイプ}

(a) 内容

ログを格納するファイルまたはログを出力するプログラムを指定します。ログのフォーマットはラベル名を指定しないLogFormatディレクティブで指定できます。

LogFormatディレクティブでログのフォーマットを指定する場合は,IPv6アドレスやIPv6アドレスに対応したホスト名も出力できます。指定できるフォーマットはCustomLogディレクティブを参照してください。

LogFormatディレクティブでフォーマットを指定しない場合は,標準のログフォーマットで出力します。

ファイル名:ログを格納するファイル名を指定します。ファイル名には,絶対パスまたはServerRootディレクティブの指定値からの相対パスが指定できます。

パイプ:標準入力からログ情報を受け取るプログラムを"|プログラム名"のフォーマットで指定します。Windows版での注意事項は,CustomLogディレクティブを参照してください。

(b) 記述できる場所

httpsd.conf,<VirtualHost>

(c) 指定例

TransferLog "|\"\"<Application Serverのインストールディレクトリ>/httpsd/sbin/rotatelogs.exe\" \"<Application Serverのインストールディレクトリ>/httpsd/logs/access\" 86400\""

rotatelogsプログラムを使用してログを24時間ごとに分割して採取します。

(8) TypesConfig ファイル名

〜《conf/mime.types》

(a) 内容

ファイル拡張子とコンテントタイプ(MIMEタイプ)の関係を定義する設定ファイルを指定します。ファイル名には,絶対パスまたはServerRootディレクティブの指定値からの相対パスが指定できます。

設定ファイル内の指定形式は,MIMEタイプ ファイル拡張子 〔ファイル拡張子 …〕です。MIMEタイプだけ指定している行は無視します。また,行の最初に#を付けると,コメント行になります。

(b) 記述できる場所

httpsd.conf

(c) 指定例

TypesConfig conf/mime.types

MIMEタイプの設定ファイルはmime.types

(9) UnsetEnv 環境変数 〔環境変数 …〕

(a) 内容

CGIスクリプトに渡す環境変数から,SetEnvディレクティブまたはPassEnvディレクティブで指定した環境変数を削除する場合に指定します。

(b) 記述できる場所

httpsd.conf,<VirtualHost>,<Directory>,.htaccess

(c) 上書き許可

FileInfoレベル

(d) 指定例

UnsetEnv MY_ENV

(10) UseCanonicalName {OnOffdns}

(a) 内容

サーバの正式な名前の生成方法を指定します。サーバの正式な名前は,自サーバを参照するURLや環境変数のSERVER_NAMEとSERVER_PORTに設定されます。

On:サーバの正式な名前は,ServerNameディレクティブ指定値から作成され,自サーバを参照するURLや環境変数に設定されます。VirtualHost指定時にIPアドレスを使用する場合は,VirtualHostブロック内でServerNameを指定してください。ブロック内でServerNameを指定していない場合は,IPアドレスからホスト名を取得します。

Off:サーバの正式な名前は,Hostヘッダによってクライアントから与えられたホスト名称とポート番号から作成され,自サーバを参照するURLや環境変数に設定されます。ただし,Hostヘッダが与えられない場合は,ServerNameディレクティブ値と,実際のコネクションに使用されているポート番号から作成されます。

dns:Hostヘッダを持たない古いクライアントのためのオプションです。このオプション指定時には,サーバの正式な名前は,クライアントから与えられたサーバのIPアドレスから逆引きしたホスト名称および実際にコネクションに使用されているポート番号から作成され,自サーバを参照するURLや環境変数に設定されます。

なお,On,Off,dnsすべての場合で,IPv6アドレスに対応しています。

(b) 記述できる場所

httpsd.conf,<VirtualHost>,<Directory>

(11) User ユーザ名 [図データ]

〜《#-1》

(a) 内容

サーバプロセスが動作するときのユーザ名を指定します。

(b) 記述できる場所

httpsd.conf

(c) 指定例

User nobody

(12) UserDir {ディレクトリ名disabled 〔ユーザ名 〔ユーザ名 …〕〕}

(a) 内容

Webブラウザからの/~ユーザ名/へのリクエストに対して公開するサーバ上の場所をディレクトリ名で指定します。disabledを指定すると,Webコンテンツを公開しないユーザを指定できます。

ディレクトリ名は,相対パスまたは絶対パスで指定します。

Windows版では,絶対パスだけ有効です。

ディレクトリ名:

  • 相対パスで指定した場合

    サーバ上にユーザIDを持つユーザが,ユーザのホームディレクトリ下のWebコンテンツを公開する場合の場所を指定します。/~ユーザ名/へのリクエストがあった場合,"ユーザのホームディレクトリ/ディレクトリ名" にアクセスします。

  • 絶対パスで指定した場合

    ユーザディレクトリの場所を指定します。/~ユーザ名/へのリクエストがあった場合,"ディレクトリ名/ユーザ名" にアクセスします。

disabled:

Webブラウザからの/~ユーザ名/へのリクエストに対して,Webコンテンツを公開しないユーザを指定します。指定されたユーザ名でのリクエストに対しては,アクセスするディレクトリ名を変換しません。ユーザ名の指定がない場合は,すべてのユーザについてdisabledを指定したことになります。

(b) 注意事項

  • 複数のUserDirディレクティブでディレクトリ名を指定した場合,あとから指定したものに上書きされます。

  • disabledに指定するユーザ名は,複数のUserDirディレクティブを用いて指定できます。

(c) 記述できる場所

httpsd.conf,<VirtualHost>

(d) 指定例

(例1)
UserDir public_html

ユーザuser1のホームディレクトリを/home/user1とすると,リクエストhttp://ホスト名〔:ポート番号〕/~user1/index.htmlで,/home/user1/public_html/index.htmlにアクセスします。

(例2)
UserDir /home
UserDir disabled user3
UserDir disabled user4 user5

リクエストhttp://ホスト名〔:ポート番号〕/~user1/index.htmlで,/home/user1/index.htmlにアクセスします。ただし,user3はdisabledが指定されているため,http://ホスト名〔:ポート番号〕/~user3/index.htmlというリクエストで/home/user3/index.htmlにアクセスできません。user4,user5についてもuser3と同様です。

(例3)
UserDir disabled

すべてのユーザに対してdisabledを指定します。