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

[目次][用語][索引][前へ][次へ]

6.2.3 B,C,Dで始まるディレクティブ

<この項の構成>
(1) BindAddress {IPアドレス|*}
(2) BrowserMatch "ブラウザ名" 環境変数〔=値〕 〔環境変数〔=値〕 …〕
(3) BrowserMatchNoCase "ブラウザ名" 環境変数〔=値〕 〔環境変数〔=値〕 …〕
(4) CacheNegotiatedDocs 〔{On|Off}〕
(5) CoreDumpDirectory ディレクトリ名 
(6) CustomLog {ファイル名|パイプ} {"フォーマット"|ラベル名} 〔env=〔!〕環境変数〕
(7) DefaultIcon URL
(8) DefaultLanguage 言語コード
(9) DefaultType MIMEタイプ
(10) Deny from {ホスト|all|env=環境変数} 〔{ホスト|env=環境変数} …〕
(11) DirectoryIndex ファイル名 〔ファイル名 …〕
(12) DocumentRoot ディレクトリ名

(1) BindAddress {IPアドレス|*}

〜《*》

(a) 内容

Webサーバをインストールしたサーバ機に割り当てられたIPアドレスのうち,どのIPアドレスからWebサーバに接続できるようにするかを指定します。IPアドレスにIPv6アドレスは指定できません。どのIPv4アドレスからも接続できるようにする場合には,*を指定します。Listenディレクティブを指定した場合は,BindAddressディレクティブの指定は無視されます。

(b) 記述できる場所

httpsd.conf

(2) BrowserMatch "ブラウザ名" 環境変数〔=値〕 〔環境変数〔=値〕 …〕

(a) 内容

Webブラウザごとに環境変数を設定する場合に指定します。設定する値のデフォルト値は1です。環境変数の前に!が付いたときは,その環境変数の設定を解除します。ブラウザ名は正規表現で指定でき,大文字,小文字を区別します。

(b) 記述できる場所

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

(c) 指定例
BrowserMatch "Mozilla/2" nokeepalive
BrowserMatch "MSIE 4\.0b2;" nokeepalive downgrade-1.0 force-response-1.0
BrowserMatch "RealPlayer 4\.0" force-response-1.0
BrowserMatch "Java/1\.0" force-response-1.0
BrowserMatch "JDK/1\.0" force-response-1.0
BrowserMatch "Microsoft Data Access Internet Publishing Provider" redirect-carefully
BrowserMatch "^WebDrive" redirect-carefully
BrowserMatch "^WebDAVFS/1.[012]" redirect-carefully
BrowserMatch "^gnome-vfs" redirect-carefully
 

指定例で示した環境変数の意味を次に示します。

環境変数 内容
nokeepalive KeepAlive接続を無効にします。Viaヘッダがリクエストに付加されている場合は,KeepAlive接続を無効にできません。
downgrade-1.0 HTTP/1.1以上のリクエストを,HTTP/1.0のリクエストとして扱います。
force-response-1.0 HTTP/1.0のリクエストに対して,常にHTTP/1.0のレスポンスを応答します。
redirect-carefully ディレクトリへのアクセスでURLの最後に'/'を付加していなく,かつそれがGETメソッド以外を使用していたとき,クライアントにリダイレクトを要求しません。

(3) BrowserMatchNoCase "ブラウザ名" 環境変数〔=値〕 〔環境変数〔=値〕 …〕

(a) 内容

Webブラウザごとに環境変数を設定する場合に指定します。設定する値のデフォルト値は1です。環境変数の前に!が付いたときは,その環境変数の設定を解除します。ブラウザ名は正規表現で指定でき,大文字,小文字を区別しません。

(b) 記述できる場所

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

(4) CacheNegotiatedDocs 〔{On|Off}〕

(a) 内容

コンテントネゴシエーションをするリクエストで,クライアント側のキャッシュを有効にするかどうかを指定します。ディレクティブの引数を省略した場合は,Onを指定した場合と同様の動作をします。ディレクティブを設定しない場合は,Offを指定した場合と同様の動作をします。このディレクティブの指定は,HTTP/1.1のリクエストに対しては無効です。

On:キャッシュされるようになります。

Off:Expiresヘッダが付けられてキャッシュされなくなります。

(b) 記述できる場所

httpsd.conf

(5) CoreDumpDirectory ディレクトリ名 [図データ]

〜《ServerRootディレクティブ指定値》

(a) 内容

コアをダンプするディレクトリを指定します。絶対パスまたはServerRootディレクティブの指定値からの相対パスが指定できます。なお,指定したディレクトリには,User,Groupディレクティブで指定したユーザ,グループからの書き込み権限を付与する必要があります。Linux版では,ディレクティブをコンフィグファイルに指定した場合だけ有効となります。

(b) 注意事項

HP-UXの場合,ユーザIDが変更されたプロセスについては,コアはダンプされません。HTTP Serverをスーパーユーザで起動すると,Userディレクティブで指定したユーザに変更されます。そのため,コアをダンプする事象が発生した場合でもダンプされません。

(c) 記述できる場所

httpsd.conf

(6) CustomLog {ファイル名|パイプ} {"フォーマット"|ラベル名} 〔env=〔!〕環境変数〕

(a) 内容

任意のフォーマットのログをファイルに出力させる場合に指定します。フォーマットはLogFormatディレクティブで指定するフォーマットと同様です。

このディレクティブを複数指定する場合,同じファイル名は複数指定できません。

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

パイプ:標準入力からログ情報を受け取るプログラムを"|プログラム名"の形式で指定します。Webサーバはログ情報に含める改行コードをCRLFにして渡します。

(Windows版での注意事項)

パイプで指定されたプログラムは,制御プロセスとWebサーバプロセス用にログ情報を受け取るそれぞれ別のプロセスとして生成されます。これをパイププロセスと呼びます。サービスとしてWebサーバを起動する場合には次の点に注意してください。

"フォーマット":ログフォーマットを指定します。指定できるフォーマット名を表6-3,表6-4に示します。

ラベル名:LogFormatディレクティブで定義したラベル名を指定します。

env=環境変数:指定した環境変数が設定されている場合に,ログを採取します。

env=!環境変数:指定した環境変数が設定されていない場合に,ログを採取します。

 

表6-3 フォーマット一覧

フォーマット 意味
%A※1 WebサーバのIPアドレス。
%a※1 クライアントのIPアドレス。
%B 送信バイト数(HTTPヘッダおよびchunkedエンコーディングによって追加されたデータを除く)。
%b 送信バイト数(HTTPヘッダおよびchunkedエンコーディングによって追加されたデータを除く)。ただし,0の場合は-(ハイフン)。
%{cookie_name}C Cookieヘッダ値に含まれるクッキー名cookie_nameの値。
%D リクエスト処理時間をマイクロ秒で表示。
%{env_name}e env_nameに指定した環境変数の値。
%f クライアントが要求したディレクトリまたはファイル名。
%H リクエストプロトコル(HTTP/1.0など)。
%h※2 クライアントのホスト名。
%I リクエストとヘッダを含む,全受信バイト数。
%{header_name}i header_nameに指定したリクエストヘッダの値。
%l クライアントの識別情報(IdentityCheckディレクティブがOn,かつクライアント上でidentdが動作している場合)。
%m リクエストメソッド(GET,POSTなど)。
%{note_name}n note_nameに指定したWebサーバ内モジュールの注記の値。
%O ヘッダを含む,全送信バイト数。
%{header_name}o header_nameに指定したレスポンスヘッダの値。
%P HTTP通信のリクエストを処理するプロセスID。
%{hws_thread_id}P HTTP通信のリクエストを処理するスレッドID。Windows版で有効。
%p ポート番号。
%q 問い合わせ文字列。
%r HTTP通信のリクエストの先頭行。
%s ステータス(内部リダイレクトされた場合はオリジナルを示す)。
%T リクエスト処理に掛かった時間(秒)。HWSLogTimeVerboseディレクティブでOnを指定すると,ミリ秒単位まで表示。
%t リクエスト処理を開始した時刻。HWSLogTimeVerboseディレクティブでOnを指定すると,ミリ秒単位まで表示。
%{format}t リクエスト処理を開始した時刻。strftime()で定義されているフォーマットをformatに指定する。
%U URL。
%u クライアントのユーザ名(ユーザ認証をした場合)。
%V※2 UseCanonicalNameディレクティブの指定に従い,ServerNameディレクティブ指定値,サーバ名またはIPアドレス。
%v サーバ名。
%X レスポンス完了時の接続ステータス。
  +:レスポンス送信後も接続を維持する。
  −:レスポンス送信後に接続を切断する。
  X:レスポンス完了前に接続を切断する。
%>s 最終ステータス。

フォーマットで示す{ }は選択を意味するものではありません。{ }内の太字はログを採取する変数名を,細字は文字列そのままを記述します。

注※1
フォーマットに%Aまたは%aを指定した場合,IPv6アドレスも出力できます。

注※2
フォーマットに%hまたは%Vを指定した場合,IPv6アドレスに対応したホスト名またはIPv6アドレスも出力できます。

表6-4 SSL関連のログフォーマット一覧

フォーマット 意味
%{version}c SSLのバージョン
%{cipher}c 現在の通信で使用している暗号種別
%{clientcert}c SSLクライアント証明書のsubjectのDistinguished Name

フォーマットの%の後ろにステータスコードを記述できます。

(例)エラーステータスコード400および501の場合,User-Agentリクエストヘッダ値のログを採取する。
%400,501{User-Agent}i

(例)エラーステータスコード200,304および302の3種類以外の場合,Refererリクエストヘッダ値のログを採取する。
%!200,304,302{Referer}i

また,env=は,指定した環境変数の設定によって,ログの採取を分ける場合に指定します。

(例)gifへのアクセスはgif.logに,gif以外へのアクセスはnongif.logにログを採取する。
SetEnvIf Request-URI \.gif$ gif-image
CustomLog logs/gif.log common env=gif-image
CustomLog logs/nongif.log common env=!gif-image
(b) 記述できる場所

httpsd.conf,<VirtualHost>

(c) 指定例
CustomLog logs/access.log common
CustomLog logs/ssl.log "%t %{version}c %{cipher}c %{clientcert}c"
 

(7) DefaultIcon URL

(a) 内容

ディレクトリインデクスで表示するアイコンを指定します。AddIcon,AddIconByTypeおよびAddIconByEncodingディレクティブのどれにも該当しない場合に表示するアイコンのURLを指定します。なお,URLの「http://IPアドレス」を省略しないでIPv6アドレスを指定する場合は,IPv6アドレスを[ ]で囲んでください。

(b) 記述できる場所

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

(c) 上書き許可

Indexesレベル

(d) 指定例
DefaultIcon /icons/unknown.gif

(8) DefaultLanguage 言語コード

(a) 内容

ドキュメントで使用するデフォルトの言語を指定します。指定した言語コードはContent-Languageレスポンスヘッダに設定されます。AddLanguageディレクティブの設定に対するデフォルト値となります。デフォルト値が設定されていない場合,Content-Languageレスポンスヘッダは送信しません。

(b) 記述できる場所

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

(c) 上書き許可

FileInfoレベル

(9) DefaultType MIMEタイプ

〜《text/plain》

(a) 内容

TypesConfigディレクティブで指定したファイルで定義したMIMEタイプのどれにも該当しないコンテンツに対して使用するMIMEタイプ名を指定します。

(b) 記述できる場所

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

(c) 上書き許可

FileInfoレベル

(d) 指定例
DefaultType text/plain

(10) Deny from {ホスト|all|env=環境変数} 〔{ホスト|env=環境変数} …〕

(a) 内容

Webサーバへアクセスできるクライアントを制限する場合に指定します。ホストにはアクセスを禁止するホストのドメイン名,IPアドレス,サブネット,ネットマスクを指定できます。すべてのホストからアクセスを禁止する場合は,allを指定します。

また,ホストには,IPv6アドレスに関するドメイン名,アドレスおよびプリフィックス長も指定できます。IPv6アドレスを指定する場合は,IPv6アドレスを[ ]で囲まないでください。プリフィックス長は,「IPv6アドレス/プリフィックス長」の形式で指定します。プリフィックス長は10進数で指定してください。

env=環境変数を指定すると,サーバへのアクセスを環境変数で制御できます。BrowserMatch,BrowserMatchNoCase,SetEnvIf,SetEnvIfNoCaseディレクティブと併せて使用すれば,HTTPリクエストヘッダフィールドに基づいてアクセスを制限できます。

Allowディレクティブ(アクセス許可)とDenyディレクティブ(アクセス制限)は,Orderディレクティブで評価の順序を設定できます。

ホスト 意味
ドメイン名 ドメイン名で示すホストからのアクセスを禁止する。
IPアドレス IPアドレスで示すホストからのアクセスを禁止する。
サブネット サブネット(IPアドレスの最初の1から3バイト)で指定したホストからのアクセスを禁止する。
ネットマスク ネットマスク表記(例:10.1.0.0/255.255.0.0)で指定したホストからのアクセスを禁止する。
10.1.0.0/16形式で表記した場合10.1.0.0/255.255.0.0と同じ意味である。
(b) 記述できる場所

<Directory>,.htaccess

(c) 上書き許可

Limitレベル

(11) DirectoryIndex ファイル名 〔ファイル名 …〕

〜《index.html》

(a) 内容

Webブラウザからのリクエストが特定のコンテンツを指定していない場合に,デフォルトとしてクライアントに送信するコンテンツのファイル名を指定します。ファイル名を複数指定した場合は,先に指定したファイル名を優先して送信します。

ここで指定したファイルがリクエストされたディレクトリにない場合,Optionsディレクティブの指定によってWebブラウザの表示が変わります。

(b) 記述できる場所

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

(c) 上書き許可

Indexesレベル

(d) 指定例
DirectoryIndex index.html

ファイル名の指定がないリクエストの場合,ディレクトリにindex.htmlがあれば表示させます。

(12) DocumentRoot ディレクトリ名

〜《/opt/hitachi/httpsd/htdocs》 (UNIX版)

〜《ServerRootディレクティブのデフォルト値/htdocs》 (Windows版)

(a) 内容

コンテンツを格納するドキュメントルートディレクトリを絶対パスで指定します。ディレクトリ名の終端には/(スラッシュ)を記述しないでください。

ディレクトリ名は,絶対パスで指定してください。

(b) 記述できる場所

httpsd.conf,<VirtualHost>

(c) 指定例
DocumentRoot "<Application Serverのインストールディレクトリ>/httpsd/htdocs"