1.3. HTTPサーバ

WebOTX では、Javaベースの内蔵Webサーバのほかに、ApacheベースのWebサーバ (以降「WebOTX Webサーバ」と記載します)をバンドルしています。

WebOTXでは、その他に利用可能なWebサーバとして、IIS / Apache HTTP Server の外部Webサーバをサポートしています。

WebOTX AS Express インストール時のデフォルト設定は、Javaベースの内蔵Webサーバを利用し、 WebOTX AS Standard/Enterprise インストール時のデフォルト設定は、WebOTX Webサーバを利用します。 WebOTX にバンドルされたWebサーバを利用する場合、インストール後に設定する項目は 特にありません。 外部Webサーバを利用する場合には、インストール後に「環境設定ツール」を起動し、外部Webサーバとの連携設定を行う必要があります。

1.3.1. Javaベース内蔵Webサーバ設定方法

項目の設定

Javaベースの内蔵Webサーバの設定方法については、次の2通りがあります。

Webコンテナ管理コンソールによる設定

Webコンテナの運用管理コンソールの「コネクタ」項目で、Javaベースの内蔵Webサーバの設定ができます。コネクタの「種類」が"HTTP"と表示されているものが内蔵Webサーバです。詳細は「1.4. Webコンテナ」を参照してください。

MOによる参照と設定

Javaベースの内蔵Webサーバの設定は、WebコンテナのMOを介してもアクセス可能です。対象となる MO の Dottedname は「server.http-service.http-listener.http-listener-name」です。属性 protocol の値が "HTTP/1.1" となっているものが内蔵Webサーバです。詳細は「1.4. Webコンテナ」を参照してください。

1.3.1.1. SSL通信の設定方法

詳細は「1.15. 共通SSL設定」を参照してください。

※内蔵WebサーバのCoyoteコネクタを使用する場合はSSL通信が可能ですが、Grizzlyコネクタを使用する場合はhttps通信のみサポートしており、SSL通信は利用することができません。

1.3.2. WebOTX Webサーバ設定方法

ここでは、WebOTXで利用するWebサーバとして、「WebOTX Webサーバ」を利用する場合の設定方法について記載します。その他の外部Webサーバを利用する場合については、「1.3.4. 外部Webサーバ設定方法」を参照してください。

WebOTXの運用管理コマンド / 統合運用管理ツールでは、WebOTX Webサーバの一部の定義情報の変更と参照、および、Webサーバの起動と停止ができます。また、定義情報ファイル (httpd.conf / ssl.conf) をエディタで編集して、定義情報の更新することが可能です。

なお、 Javaベースの内蔵Webサーバの設定については、「1.4. Webコンテナ」を参照してください。

1.3.2.1. MOによる参照と設定

運用管理コマンド / 統合運用管理ツールで変更 / 参照可能な項目と、その方法については、[ ドメイン構築・基本設定ガイド > 7. WebOTXの内部サービス > 7.6. WebOTX Webサーバ > 7.6.4. 運用 > 7.6.4.2. 定義情報の参照, 7.6.4.3. 定義情報の更新, 7.6.4.4. 定義情報の追加 ] を参照してください。

1.3.2.2. 定義情報ファイル

WebOTX Webサーバの定義情報は、定義情報ファイル(httpd.conf)に格納され、WebOTX Webサーバ起動時に読み込まれます。

定義情報ファイルは、WebOTX のドメイン毎に格納されるため、ドメイン毎に 定義情報を変更する必要があります。

定義情報を更新した場合には、WebOTX Webサーバの再起動が必要になります。

格納場所
  ${INSTANCE_ROOT}/config/WebServer/httpd.conf

なお、SSL通信用ライブラリをインストールした場合、SSL設定に関する 定義情報は、ssl.confファイルに格納されます。

SSL通信で利用するポート番号や証明書/秘密鍵ファイルを設定/変更する場合、 このファイルに定義された情報を変更する必要があります。

格納場所
  ${INSTANCE_ROOT}/config/WebServer/ssl.conf

1.3.2.3. 基本定義

ここでは、WebOTX Webサーバが動作するために必要となる定義情報について 説明します。
定義情報ファイルには、最低限、次の定義を含める必要があります。

1.3.2.3.1. ServerRoot
表1.3.2.3-1
名前 ServerRoot
説明 WebOTX Webサーバが動作するルートディレクトリを設定します。 この値は、ドメイン生成時に決まります。
書式 ServerRoot directory-path
設定例
(既定値)
既定値は、ドメインのルートディレクトリ(${INSTANCE_ROOT})となります。
(Windows)
 ServerRoot "C:/WebOTX/domains/domain1"

(UNIX)
 ServerRoot /opt/WebOTX/domains/domain1
1.3.2.3.2. Listen
表1.3.2.3-2
名前 Listen
説明 WebOTX Webサーバが利用するリクエスト受付用のポート番号を指定します。 Listen ディレクティブは、 ポート番号だけを設定する 方法と、IPアドレスとポート番号を一緒に設定する方法があります。
UNIX 版において、インストール時に「WebOTX 運用ユーザを利用する」を指定した 場合、通常、1024 以下のポート番号を設定することはできません。
書式 Listen [IPアドレス:]port
Port port
設定例

(ポート番号 8080 を利用する場合の設定)
  Listen 8080

(特定のIPアドレスに対して待ち合わせを行う場合の設定)
  Listen 192.168.0.1:80

(IPv4アドレスとIPv6アドレスで同一のポート番号を 指定する場合の設定)
  Listen 0.0.0.0:80
  Listen [::]:80

1.3.2.3.3. User/Group
表1.3.2.3-3
名前 User
Group
説明 (UNIXでのみ有効)
WebOTX Webサーバがリクエストに応答する際に用いる ユーザID および グループID を指定します。
WebOTX Application Server のインストール時に「WebOTX 運用ユーザ」を 利用する選択をした場合には、この設定値を「WebOTX 運用ユーザ」に変更する 必要があります。
書式 User unix-user-id
Group unix-group-id
設定例 User otxadmin
Group otxadm
1.3.2.3.4. DocumentRoot
表1.3.2.3-4
名前 DocumentRoot
説明 ブラウザが WebOTX Webサーバ にアクセスした場合の ルートディレクトリを指定します
書式 DocumentRoot directory-path
設定例
(既定値)
既定値は、${INSTANCE_ROOT}/docroot となります。
(Windows)
  DocumentRoot "C:/WebOTX/domains/domain1/docroot"

(UNIX)
  DocumentRoot /opt/WebOTX/domains/domain1/docroot
1.3.2.3.5. ErrorLog

定義情報は、[ 1.3.2.8. ログ出力 > ErrorLog ] を参照してください。

1.3.2.3.6. LoadModule
表1.3.2.3-6
名前 LoadModule
説明 様々な機能を提供するモジュールをロードし、使用モジュールリストに 追加します。
書式 LoadModule module-name module-path
設定例 (Windows)
  LoadModule ssl_module  "C:/WebOTX/WebServer24/modules/mod_ssl.so"

(UNIX)
  LoadModule ssl_module  /opt/WebOTX/WebServer24/modules/mod_ssl.so

1.3.2.4. サーバ動作に関する設定

ここでは、WebOTX Webサーバの動作プロセス数に関する設定を説明します。

Windows 版は、1つの子プロセス上で複数スレッドが動作し、各スレッド上で クライアントからのリクエストを受け付けます。つまり、1リクエストに対して、 1スレッドが割り当てられます。

UNIX 版は、worker と呼ばれる方式を採用しており、複数の子プロセスが動作し、 さらに、その子プロセス上で複数のスレッドが動作し、各子プロセスのスレッド上 でクライアントからのリクエストを受け付けます。つまり、1リクエストに対して、 1スレッドが割り当てられます。

上記のような動作の違いにより、Windows 版と UNIX 版では、定義内容が 異なります。 動作プロセスに関連する主なディレクティブは、次の通りです。

1.3.2.4.1. MaxClients
表1.3.2.4-1
名前 MaxClients
説明 (UNIXでのみ有効)
WebOTX Webサーバが処理できる最大同時接続コネクション数を設定します。 この値はリクエストに応じることのできる全スレッドの総数となります。
クライアントは、この値を超えて同時に接続することはできません。
この値を超えて接続要求がきた場合には、その接続要求は、OS側のListenBackLog キューに保留されます。
書式 MaxClients number
設定例
(既定値)
MaxClients 250
1.3.2.4.2. ThreadsPerChild
表1.3.2.4-2
名前 ThreadsPerChild
説明 Windows版と UNIX版で意味が異なります。
Windows版の場合、プロセス内で動作するスレッド数となり、WebOTX Webサーバが処理できる最大同時接続コネクション数を意味します。
UNIX版の場合、1つのプロセス内で動作するスレッド数を意味します。 UNIX版で本設定値に64以上の値を設定する場合は、ThreadLimit 値も 変更してください。
書式 ThreadsPerChild number
設定例
(既定値)
(Windows)
  ThreadsPerChild 250

(UNIX)
  ThreadsPerChild 25
1.3.2.4.3. MinSpareThreads / MaxSpareThreads
表1.3.2.4-3
名前 MinSpareThreads
MaxSpareThreads
説明 (UNIXでのみ有効)
アイドル状態であるスレッドの最小値、最大値を設定します。 アイドル状態とは、リクエストを処理していない状態の ことです。アイドル状態では、この範囲内に総スレッド数が 収まるように、起動しているプロセス数が常に調整されます。

MaxSpareThreads 以上のリクエストを受け付けると、 超過したリクエストを処理するために子プロセスの起動/停止 処理が行われるので、子プロセスの総数が増減する場合があります。
リクエストの増加により、子プロセスの増減を行いたくない 場合は、この設定値を MaxClinets と同じ値に設定してください。

また、Webサーバ 起動時に MinSpareThreads 以上のスレッドが起動しなかった場合、 「server reached MaxClients setting, consider raising the MaxClients setting」 のメッセージが出力される場合があります。 ThreadsPerChild / ThreadLimit / StartServers の値を確認して、 Webサーバ起動時の総スレッド数が MinSpareThreads 以上の値 になるように調整してください。
書式 MinSpareThreads number
MaxSpareThreads number 
設定例
(既定値)
MinSpareThreads 25
MaxSpareThreads 75
1.3.2.4.4. StartServers
表1.3.2.4-4
名前 StartServers
説明 (UNIX でのみ有効)
起動時に生成される子プロセス数を設定します。
なお、mod_cgid モジュールがロードされている場合には、CGIプログラム実行用の 子プロセスがあらかじめ起動するため、総子プロセス数は、本設定値 + 1 となります。
書式 StartServers number 
設定例(既定値) StartServers 2
1.3.2.4.5. ServerLimit / ThreadLimit
表1.3.2.4-5
名前 ServerLimit
ThreadLimit
説明 (UNIX でのみ有効)
子プロセスの上限値(ServerLimit)、子プロセス内で 動作するスレッドの上限値(ThreadLimit)を設定します。
ThreadsPerChild 値に 64以上の値を設定する場合には、 ThreadLimit にもその値以上の値を設定してください。
書式 ServerLimit number
ThreadLimit number
設定例 ServerLimit 16
ThreadLimit 64
1.3.2.4.6. MaxRequestsPerChild
表1.3.2.4-6
名前 MaxRequestsPerChild
説明 個々の子サーバプロセスが稼働中に扱うリクエスト数の 上限を設定します。ここで指定した数のリクエストを受け付けた後、 その子プロセスは終了します。
0を指定した場合、上限なしとなり、その子プロセスはリクエスト数の上限超えにより終了することはありません。
書式 MaxRequestsPerChild number
設定例 MaxRequestsPerChild 0

1.3.2.5. SSL 定義

ここでは SSL通信を行う場合、定義情報ファイルに定義する 主な設定を説明します。
SSLに関する設定は、ssl.confファイルに格納されています。 ssl.confファイルは、SSL通信用パッケージをインストール することで追加されます。

1.3.2.5.1. SSLEngine
表1.3.2.5-1
名前 SSLEngine
説明 SSLを有効にします。通常、<VirtualHost> 内で使用され、特定の仮想ホストに対してSSLを有効にします。
書式 SSLEngine On|Off
設定例 <VirtualHost _default_:443>
  SSLEngine on
  ...
</VirtualHost>
1.3.2.5.2. SSLCertificateFile
表1.3.2.5-2
名前 SSLCertificateFile
説明 SSLで利用するサーバ証明書ファイルを設定します。
中間CA証明書や、クロスルート証明書の設定が必要な場合、サーバ証明書、中間CA証明書、(必要な場合)クロスルート証明書の内容を、次の順番で連結して、1つにしたファイルをSSLCertificateFileディレクティブに設定します。
    -----BEGIN CERTIFICATE-----
          <サーバ証明書>
    -----END CERTIFICATE-----
    -----BEGIN CERTIFICATE-----
          <中間CA証明書>
    -----END CERTIFICATE-----
    -----BEGIN CERTIFICATE-----
          <クロスルート証明書>
    -----END CERTIFICATE-----
ファイルの連結は、下のようにOSのコマンドを利用するか、各ファイルをテキストエディタ等で開き、上記の順番で内容をコピーし、1つのファイルとして保存することで行ってください。

例) サーバ証明書(server.pem)、中間CA証明書(inter.pem)、クロスルート証明書(cross.pem)を連結して、server.crtにする場合
(Windows)
  copy server.pem+inter.pem+cross.pem server.crt
(UNIX)
  cat server.pem inter.pem cross.pem >> server.crt
書式 SSLCertificateFile path
設定例 SSLCertificateFile /opt/WebOTX/WebServer24/conf/ssl.crt/sample.crt
1.3.2.5.3. SSLCertificateKeyFile
表1.3.2.5-3
名前 SSLCertificateKeyFile
説明 SSLで利用するサーバの秘密鍵ファイルを設定します。
パスフレーズ付きの秘密鍵を利用する場合は、SSLPassPhraseDialogディレクティブの設定も必要です。ただし、Windowsでは、パスフレーズ付きの秘密鍵をサポートしていません。Windowsの場合や、パスフレーズの解除が必要な場合には、次のコマンドを実行し、秘密鍵からパスフレーズを解除してください。
  > openssl rsa -in (秘密鍵ファイル名) -out (パスフレーズなし秘密鍵ファイル名)
書式 SSLCertificateKeyFile path
設定例 SSLCertificateKeyFile /opt/WebOTX/WebServer24/conf/ssl.key/sample.key
1.3.2.5.4. SSLCACertificateFile
表1.3.2.5-4
名前 SSLCACertificateFile
説明 クライアント認証を行う場合に、クライアント証明書を発行したCAの証明書を指定します。
なお、クライアント証明書に階層があり、ルート証明書以外に、中間CA証明書が存在する場合、 ルート証明書と、中間CA証明書の内容を次のように連結して、1つにしたファイルをSSLCACertificateFileに指定します。
    -----BEGIN CERTIFICATE-----
          <ルート証明書>
    -----END CERTIFICATE-----
    -----BEGIN CERTIFICATE-----
          <中間CA証明書>
    -----END CERTIFICATE-----
ファイルの連結は、下のようにOSのコマンドを利用するか、各ファイルをテキストエディタ等で開き、上記の順番で内容をコピーし、1つのファイルとして保存することで行ってください。

例) ルート証明書(root.pem)、中間CA証明書(inter.pem)を連結して、ca-bundle.crtにする場合
(Windows)
  copy root.pem+inter.pem ca-bundle.crt
(UNIX)
  cat root.pem inter.pem >> ca-bundle.crt
書式 SSLCACertificateFile path
設定例 SSLCACertificateFile /opt/WebOTX/WebServer24/conf/ssl.key/ca-bundle.crt
1.3.2.5.5. SSLVerifyClient
表1.3.2.5-5
名前 SSLVerifyClient
説明 クライアント認証を行う場合、クライアント側での証明書の提示方式を設定します。次のいずれかを指定します。
none : クライアント認証を要求しない。
optional : クライアント認証を要求する。クライアントから有効な証明書が提示されなくても、処理を続行します。
require : クライアント認証を要求する。クライアントから有効な証明書が提示されない場合、エラーを発生させます。
optional_no_ca : クライアント認証を要求する。クライアントから提示された証明書が検証できなくても、処理を続行します。
書式 SSLVerifyClient level
設定例 (クライアント認証を行わない場合)
  SSLVerifyClient none

(クライアントに有効な証明書を提示させる場合)
  SSLVerifyClient require
1.3.2.5.6. SSLOptions
表1.3.2.5-6
名前 SSLOptions
説明 SSL 動作に関連する各オプションを設定します。
書式 SSLOptions [+|-]option ...
設定例 (クライアント認証で、SSL用の環境変数の設定とクライアント証明書のエクスポートを行う)
  SSLOptions +StdEnvVars +ExportCertData
1.3.2.5.7. SSLCipherSuite
表1.3.2.5-7
名前 SSLCipherSuite
説明 SSLで利用する暗号スイートを指定します。
書式 SSLCipherSuite cipher-spec
設定例 (MD5 / RC4アルゴリズムの暗号スイートを無効化する場合)
  SSLCipherSuite AES128-SHA:HIGH:MEDIUM:!aNULL:!MD5:!RC4
1.3.2.5.8. SSLProtocol
表1.3.2.5-8
名前 SSLProtocol
説明 SSLで利用する、SSL / TLSプロトコルのバージョンを指定します。
書式 SSLProtocol [+|-]protocol ...
設定例 (SSL 2.0 / SSL 3.0 / TLS 1.0を無効にする場合)
  SSLProtocol ALL -SSLv2 -SSLv3 -TLSv1
1.3.2.5.9. SSLPassPhraseDialog
表1.3.2.5-9
名前 SSLPassPhraseDialog
説明 (UNIXでのみ有効)
パスフレーズ付きの秘密鍵の場合、WebOTX Webサーバ起動の際、秘密鍵のパスフレーズを、標準出力を介してWebOTX Webサーバに渡すためのコマンドを記述したスクリプトを指定します。 スクリプトの内容等は、[ ドメイン構築・基本設定ガイド > 7. WebOTXの内部サービス > 7.6. WebOTX Webサーバ > 7.6.4. 運用 > 7.6.4.5. SSL(HTTPS通信) 設定方法 > 7.6.4.5.4. サーバ証明書の取得と設定 ] -「パスフレーズの取得設定」の手順を参照してください。
書式 SSLPassPhraseDialog type
設定例 SSLPassPhraseDialog exec:/usr/local/private/pass.sh

1.3.2.6. ユーザ認証、アクセス制御

ここでは WebOTX Webサーバがサポートするユーザ認証機能と、 クライアントのアクセス制御に関する設定を記述します。

1.3.2.6.1. AuthType
表1.3.2.6-1
名前 AuthType
説明 ユーザ認証の種類を設定します。Basic と Digest が設定可能です。
書式 AuthType Basic|Digest
設定例 AuthType Basic
1.3.2.6.2. AuthName
表1.3.2.6-2
名前 AuthName
説明 HTTP認証の認可領域の名前を指定します。 ここで指定した文字列は、ほとんどのブラウザの「パスワードダイアログ」 に表示されます。
書式 AuthName auth-domain
設定例 AuthName "Top Secret"
1.3.2.6.3. AuthUserFile
表1.3.2.6-3
名前 AuthUserFile
説明 認証に使用するユーザとパスワードの一覧が格納されている テキストファイルを指定します。
通常、htpasswd コマンドで作成したパスワードファイルへの パスを指定します。
書式 AuthUserFile file-path
設定例 AuthUserFile /usr/local/apache/passwd/passwords
1.3.2.6.4. Require
表1.3.2.6-4
名前 Require
説明 認証済みユーザがリソース(ディレクトリ)に アクセスすることができるかを指定します。
書式 Require entity-name [entity-name] ...
設定例 (全ての認証されたユーザにディレクトリへのアクセスを許可する場合)
  Require valid-user

(指定されたユーザ(admin)のみディレクトリのアクセスを許可する場合)
  Require user admin
1.3.2.6.5. Order
表1.3.2.6-5
名前 Order
説明 デフォルトのアクセス可能な状態と、Allow と Deny が評価される順番を制御します。
書式 Order ordering
設定例 (以下の例では、Allow from all の後で Deny from foo.domain.com が設定されるため、 foo.domain.com 以外のクライアントからの アクセスを許可します。)
  Order Allow,Deny
  Allow from all
  Deny from foo.domain.com

(以下の例では、Deny from foo.domain.com の後で Allow from all が設定されるため、すべてのクライアント からのアクセスを許可します。)
  Order Deny,Allow
  Allow from all
  Deny from foo.domain.com
1.3.2.6.6. Allow / Deny
表1.3.2.6-6
名前 Allow
Deny
説明 サーバの特定の領域にアクセスできるホスト(クライアント)を制御します。
Allow はアクセスを許可するクライアントを、 Deny はアクセスを拒否するクライアントを指定します。
すべてのクライアント(all)、ドメイン名(domain.com)、 IPアドレス(12.34.56.78)、IPアドレスの一部(12.34) およびネットワーク/ネットワークマスクの対 (12.34.0.0/255.255.0.0または12.34.0.0/16)を 指定することができます。
書式 Allow from all|host|env=env-variable
Deny from all|host|env=env-variable
設定例 (以下の例では、foo.domain.com サブドメインにある クライアント以外の domain.com ドメインのすべてのクライアントから アクセスが許可されます。)
  Order Allow,Deny
  Allow from domain.com
  Deny from foo.domain.com

(次の3つの設定は同じアドレス群に対するアクセス許可 の設定となります。)
  Allow from 10.1
  Allow from 10.1.0.0/255.255.0.0
  Allow from 10.1.0.0/16

1.3.2.7. LDAP 連携

LDAP連携する場合に必要となる定義情報を記載します。

1.3.2.7.1. AuthLDAPUrl
表1.3.2.7-1
名前 AuthLDAPUrl
説明 LDAP連携で使用するLDAPサーバのDN情報をURLで指定します。
書式 AuthLDAPUrl ldap://host:port/basedn?attributes?scope?filter
設定例 (ドメインのdocrootに対するアクセスに対して LDAP認証をかける場合、次の設定を行います。連携するLDAPサーバ上に、 DN情報として、dc=users, dc=webotx, o=NEC, c=JP が設定されているとします。)

<Directory /opt/WebOTX/domains/domain1/docroot>
  AuthType Basic
  AuthName "Input a username and password."
  AuthLDAPUrl ldap://ldap-server/dc=users,dc=webotx,o=NEC,c=JP?uid?sub
  Require valid-user
</Directory>
 

1.3.2.8. ログ出力

WebOTX Webサーバが出力するログに関する定義情報について説明します。

1.3.2.8.1. ErrorLog
表1.3.2.8-1
名前 ErrorLog
説明 エラーログファイルの出力先と名前を設定します。
エラーログには、リクエスト処理中に発生したエラーがすべて出力されます。 また、サーバ起動時やサーバ動作に問題が発生した場合にも、このファイル に情報が出力されます。
書式 ErrorLog file-path
設定例
(既定値)
(Windows)
  ErrorLog logs/web/error.log

(UNIX)
  ErrorLog logs/web/error_log
1.3.2.8.2. CustomLog
表1.3.2.8-2
名前 CustomLog
説明 アクセスログファイルの出力先と名前、書式を設定します。
書式 CustomLog file-path|pipe format|nickname
設定例
(既定値)
(Windows)
  CustomLog "||\"C:/WebOTX/WebServer24/bin/rotatelogs.exe\" \"C:/WebOTX/domains/domain1/logs/web/access.log_%Y%m%d\" 86400" common

  CustomLog "||\"C:/WebOTX/WebServer24/bin/rotatelogs.exe\" \"C:/WebOTX/domains/domain1/logs/web/ssl_request.log_%Y%m%d\" 86400"
"%{%Y-%m-%d %H:%M:%S}t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %<s %b %D"

(UNIX)
  CustomLog "|/opt/WebOTX/WebServer24/bin/rotatelogs /opt/WebOTX/domain/domain1/logs/web/access_log_%Y%m%d 86400" common

  CustomLog "|/opt/WebOTX/WebServer24/bin/rotatelogs /opt/WebOTX/domain/domain1/logs/web/ssl_request_log_%Y%m%d 86400" \
"%{%Y-%m-%d %H:%M:%S}t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
1.3.2.8.3. LogFormat
表1.3.2.8-3
名前 LogFormat
説明 アクセスログに出力するログの出力書式を設定します。 アクセスログ情報には、クライアントのIPアドレス、URL、送信バイト数、 処理時間等を出力することができます。
書式 LogFormat format|nickname
設定例
(既定値)
LogFormat "%h %l %u \"%r\" %>s %b %D" common

上記の設定値の意味は以下の通りです。
設定値 説明
%h アクセスを行ったマシンのホスト名(または IPアドレス) が表示される。
%l リモートログ名。通常は’-‘が表示される。
%u 認証リモートユーザ名。 認証処理を行った場合に、そのユーザ名が表示される。
%r リクエストの最初の行。
%>s HTTP ステータス。リクエストが正常終了の場合、 200 が出力される。
%b HTTPヘッダ以外のサーバからクライアントに送られた バイト数。
%D リクエストの処理時間(マイクロ秒単位)
common このログフォーマットを表すニックネーム。 CustomLogディレクティブに、このニックネームを指定することで このニックネームで設定されたログフォーマット情報が出力される。
設定可能なフォーマット
設定値 説明
%a リモートIPアドレス
%A ローカルIPアドレス
%b サーバからクライアントに送信されたバイト数(HTTPヘッダ以外)。 CLF書式。
1バイトも送信されなかった場合は 0 ではなく、 '-' が出力される。
%B サーバからクライアントに送信されたバイト数(HTTPヘッダ以外)
%D リクエストを処理するのにかかった時間、 マイクロ秒単位
%{FOOBAR}e 環境変数 FOOBAR の内容
%f ファイル名
%h リモートホスト
%H リクエストプロトコル
%{Foobar}i サーバに送られたリクエストの Foobar: ヘッダの内容
%l (もしあれば、identd からの)リモートログ名
%m リクエストメソッド
%{Foobar}n 他のモジュールからのメモ Foobar の内容
%{Foobar}o 応答の Foobar: ヘッダの内容
%p リクエストを扱っているサーバの正式なポート番号
%P リクエストを扱った子プロセスのプロセスID
%q 問い合わせ文字列(存在する場合は前に ? が追加される。そうでない場合は空文字列)
%r リクエストの最初の行
%s HTTPステータスコード。
内部でリダイレクトされたリクエストは、元々のリクエスト のステータスが表示される。 最後のステータスを表示する場合は %>sと設定する。 正常終了の場合200が出力される。
%t 時刻。CLFの時刻の書式(標準の英語の書式)
%{format}t Formatで与えられた書式による時刻。
%T リクエストを扱うのにかかった時間を 秒単位で切り捨て表示する。
例えば、リクエストの処理時間が 1秒未満の場合は ’0’ が表示される。
%u リモートユーザ(authによる認証されたユーザ。 ステータス(%s)が401の場合は意味がない可能性がある)
%U リクエストされたURLパスで、クエリ文字列は含まない
%v リクエストを扱っているサーバの正式なサーバ名
%V UseCanonicalNameの設定によるサーバ名
1.3.2.8.4. LogLevel
表1.3.2.8-4
名前 LogLevel
説明 エラーログに出力するログレベルを設定します。
書式 LogLevel level
設定例
(既定値)
LogLevel warn

なお、level には次のレベルを設定可能です。
レベル 説明 エラーログへの出力例
emerg 緊急-
システムが
利用できない
Child cannot open lock file. Exiting
(子プロセスがロックファイルを開けないために終了した)
alert 直ちに対処
が必要
getpwuid: couldn’t determine user name from uid
(getpwuid: UIDからユーザ名を特定できない)
crit 致命的な
状態

socket: Failed to get a socket, exiting child
(socket: ソケットの取得に失敗したため、子プロセスが終了した)

error エラー Permature end of script headers
(スクリプトのヘッダが足りないままで終了した)
warn 警告 child process 1234 did not exit, sending anther SIGHUP
(子プロセス1234が終了しないため、SIGHUPを再送した)
notice 重要な情報 httpd: caught SIGBUS, attempting to dump core in …
(httpd: SIGBUSシグナルを受け、…へコアダンプを出力した)
info 追加情報 Server seems busy, (you may need to increase MaxClients) …
(サーバ負荷が高い、MaxClientsの値を増やす必要があるかも)
debug デバッグ Opening config file…
(設定ファイルを開いている…)
1.3.2.8.5. ErrorLogFormat
表1.3.2.8-5
名前 ErrorLogFormat
説明 エラーログに出力するメッセージの出力書式を設定します。
書式 ErrorLogFormat [connection|request] format
設定例
(既定値)
ErrorLogFormat "[%{uc}t] [%-m:%l] [pid %P:tid %T] %7F: %E: [client\ %a] %M% ,\ referer\ %{Referer}i"

1.3.2.9. 通信関連

WebOTX Webサーバとの通信で利用する定義情報について説明します。

1.3.2.9.1. KeepAlive
表1.3.2.9-1
名前 KeepAlive
説明 HTTPレベルのキープアライブ動作を指定します。SoKeepAlive の値が On の場合、本項目 (KeepAlive) の設定は無視され、 TCPレベルのキープアライブ動作をさせます。 SoKeepAlive の値が Off で、KeepAlive の値が On の場合、HTTPレベルのキープアライブ動作を有効にし、 リクエストをMaxKeepAliveRequests回処理するか、KeepAliveTimeoutが発生するまで接続を維持します。
書式 KeepAlive On|Off
設定例
(既定値)
KeepAlive On
1.3.2.9.2. MaxKeepAliveRequests
表1.3.2.9-2
名前 MaxKeepAliveRequests
説明 一つの接続で、受け付け可能なリクエストの数を制限します。 SoKeepAliveがOff、かつ、KeepAliveがOnの場合に有効です。 0 を設定した場合、受け付けるリクエストは無制限になります。
書式 MaxKeepAliveRequests number
設定例
(既定値)
MaxKeepAliveRequests 100
1.3.2.9.3. KeepAliveTimeout
表1.3.2.9-3
名前 KeepAliveTimeout
説明 接続を閉じる前に、Webサーバが次のリクエストを何秒待つかを指定します。 この時間を経過するとクライアント側にFINを送信します。SoKeepAliveがOff、かつ、KeepAliveがOnの場合に有効です。 同じクライアントからのリクエスト要求が連続してくるような場合、本設定を用いることで、クライアントとの接続に費やす時間を削除することができます。
書式 KeepAliveTimeout seconds
設定例
(既定値)
KeepAliveTimeout 10
1.3.2.9.4. ReceiveBufferSize
表1.3.2.9-4
名前 ReceiveBufferSize
説明 TCP ソケットの受信バッファのサイズをバイト単位で指定します。0の場合、OS のデフォルト値が使用されます。
書式 ReceiveBufferSize bytes
設定例
(既定値)
ReceiveBufferSize 0
1.3.2.9.5. SendBufferSize
表1.3.2.9-5
名前 SendBufferSize
説明 TCP ソケットの送信バッファのサイズをバイト単位で指定します。0の場合、OS のデフォルト値が使用されます。
書式 SendBufferSize bytes
設定例
(既定値)
SendBufferSize 0

1.3.2.10. 起動待ち合わせ時間の設定

WebOTX Webサーバのアライブチェックモニタ処理は、WebOTX Webサーバの起動処理が完了してから開始しますが、システムの状態やWebサーバのモジュール起動タイミングによっては、WebOTX Webサーバが起動しているにもかかわらず、「Webサーバが起動していない」というメッセージが出力される場合があります。これを回避するために、次の設定により、WebOTX Webサーバ起動後にアライブチェックモニタ処理を開始する時間を秒単位で指定します。

ここでは、WebOTX Webサーバの起動が完了してから10秒後にアライブチェックモニタを開始する場合の設定例を記載します。

otxadmin>create-jvm-options -Dwebotx.webserver.startup_wait_count=10

1.3.2.11. ディレクトリ一覧表示機能の無効化

WebOTX Webサーバの定義情報ファイル(httpd.conf)において、 ディレクトリ一覧表示機能を「無効」(ディレクトリリスティングを禁止)に 設定しています。
そのため、ブラウザからWebOTX Webサーバの DocumentRootディレクトリ (つまりhttp://localhost/)や、DirectoryIndexディレクティブで設定しているファイル(index.html)が 存在しないディレクトリにアクセスすると、以下の Forbidden メッセージ(HTTPステータスコード 403)が 返却されます。
WebOTX Webサーバは正常起動していますので、本メッセージが出力されることに 問題はありません。


図1.3.2.10-1

なお、WebOTX Webサーバへのアクセスに対して正常終了(HTTPステータス200)が 返却されること確認する場合には、ブラウザから次のURLを指定し、 WebOTX Webサーバのマニュアルページが表示されることを確認してください。

  http://localhost/manual/

WebOTX Webサーバのディレクトリ一覧表示機能を有効にするには、 WebOTX Webサーバの定義情報ファイル(httpd.confファイル)において、 <Directory>ディレクティブ内で設定されている Options ディレクティブに Indexes オプションを追加します。
<Directory>ディレクティブは複数存在しますので、それぞれに 設定する必要があります。

<Directory "/opt/WebOTX/domains/domain1/docroot">
  Optios Indexes FollowSymLinks MultiView
  …
</Directory>

ただし、ディレクトリ一覧表示機能を有効に設定することは、 WebOTX Webサーバのセキュリティ対策上、問題となる場合があります。 本設定を有効に変更する場合には、十分な注意が必要です。

1.3.2.12. その他の定義情報

その他の定義情報の詳細については、次のURLを参照してください。

1.3.3. Javaベース内蔵WebサーバとWebOTX Webサーバの設定対応表

1.3.3.1. Webサーバに関する設定

表1.3.3.1-1
Webサーバ種別 内蔵Webサーバ WebOTX Webサーバ
説明 アクセスログのON/OFFを設定します。
項目名 server.web-container.log-available-accesslog CustomLog
既定値 TRUE -
備考   アクセスログを出力しない場合は、次の設定を行います。
(Windows)
CustomLog nul common env=0
(UNIX)
CustomLog /dev/null common env=0
説明 アクセスログの書式を設定します。
項目名 server.http-service.access-log.format LogFormat
既定値 "%a - %u %t \"%m %U %q %H\" %s %b %D" LogFormat "%h %l %u %{%Y-%m-%d %H:%M:%S}t \"%r\" %>s %b %D" common
備考    
説明 仮想サーバを選択するためのホストリクエストヘッダの中で有効な値を設定します。
項目名 server.http-service.virtual-server.virtual-server-name.hosts VirtualHost
既定値 - -
備考 カンマ区切りのリスト VirtualHost内で指定
説明 仮想サーバのドキュメントルートを設定します。
項目名 server.http-service.virtual-server.virtual-server-name.docroot DocumentRoot
既定値 - DocumentRoot "%%%INSTANCE_ROOT%%%/docroot"
備考    
説明 Webアプリケーションのディレクトリより、シンボリックリンクをたどれるようにするか設定します。
項目名 server.http-service.virtual-server.virtual-server-name.property.allowLinking Options
既定値 FALSE -
備考 UNIXでのみ有効 指定なしの場合、シンボリックリンクをたどれません。
次のように設定することで、たどることが可能になります。
Options FollowSymLinks
説明 仮想サーバのドキュメントルートを設定します。
項目名 server.http-service.virtual-server.virtual-server-name.property.docroot DocumentRoot
既定値 - DocumentRoot "%%%INSTANCE_ROOT%%%/docroot"
備考 「server.http-service.virtual-server.virtual-server-name.docroot」で設定した内容を上書きする。  
説明 Webアプリケーション内のパス名での、大文字・小文字の区別有無を設定します。
項目名 server.http-service.virtual-server.virtual-server-name.property.caseSensitive CheckCaseOnly
既定値 TRUE -
備考 TRUE: 大文字・小文字のチェックが無効にされます。
FALSE: 大文字・小文字を区別します。
mod_spelingを有効にした場合のみ使用可能です。
ディレクティブ名と書式は次の通りです。
CheckCaseOnly On|Off
説明 HTTPリクエストを受け付けるポート番号を設定します。
項目名 server.network-config.network-listeners.network-listener.network-listener-name.port Listen
既定値 - Listen %%%HTTP_PORT%%%
備考    
説明 複数アドレスを持つサーバで、特定のアドレスに対するリクエストのみ許可したい場合に設定する項目です。
項目名 server.network-config.network-listeners.network-listener.network-listener-name.address VirtualHost
既定値 0.0.0.0 -
備考   VirtualHost内で設定します。
説明 最大接続数を設定します。
項目名 server.thread-pools.thread-pool.thread-pool-name.max-thread-pool-size ThreadsPerChild(Windowsの場合)
MaxClients(UNIXの場合)
既定値 100 250
備考 Webコンテナが生成できるリクエスト受け付けプロセッサの最大数を設定します。  
説明 待ち受け待機数を設定します。
項目名 server.thread-pools.thread-pool.thread-pool-name.min-thread-pool-size ThreadsPerChild(Windowsの場合)
MinSpareThreads(UNIXの場合)
既定値 25 250(Windowsの場合)
25(UNIXの場合)
備考 Webコンテナ起動時に生成するリクエスト受け付けプロセッサの数を設定します。  

1.3.3.2. SSLに関する設定

表1.3.3.1-1
Webサーバ種別 内蔵Webサーバ WebOTX Webサーバ
説明 証明書データベースやPKCS#11トークンで証明されるサーバの愛称を設定します。
項目名 server.network-config.protocols.protocol.protocol-name.ssl.cert-nickname -
既定値 - -
備考 証明書データベースやPKCS#11トークンで証明されるサーバの愛称です。その証明書で、名前の書き方はtokenname:nicknameです。この属性のtokenname:の部分を含むかどうかは任意です。 対応項目はありません。
説明 SSL3クライアント認証がACLに基づくアクセス制御と無関係の全てのリクエスト上で実行可能か設定します。
項目名 server.network-config.protocols.protocol.protocol-name.ssl.client-auth-enabled -
既定値 - -
備考 SSL3クライアント認証がACLに基づくアクセス制御と無関係の全てのリクエスト上で実行されるかどうかを決定します。既定値は無効(false)です。 対応項目はありません。
説明 有効な暗号化形式を設定します。
項目名 server.network-config.protocols.protocol.protocol-name.ssl.ssl2-ciphers
server.network-config.protocols.protocol.protocol-name.ssl.ssl3-tls-ciphers
SSLCipherSuite
既定値 - ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!3DES:!MD5:!PSK
備考 ・SSL2で使用される暗号化形式
  使用されるSSL2暗号のコンマ区切りの一覧です。有効化には前に+をつけ、無効化には前に-をつけて下さい。有効な値はrc4, rc4export, rc2, rc2export, idea, des, desede3です。値が指定されない場合、全ての暗号が有効化されます。

・SSL3/TLSで使用される暗号化形式
  有効なSSL3暗号スイートをコンマ区切りで指定します。
指定できる値は SunJSSE が実装する暗号スイートです。
詳しくは次のドキュメントを参照してください。
http://java.sun.com/javase/ja/6/docs/ja/
 > セキュリティ
  > Sun プロバイダドキュメント
   > SunJSSE プロバイダ
有効化には前に + をつけ、無効化には前に - をつけて下さい。
設定例:
+SSL_RSA_WITH_RC4_128_MD5,+SSL_RSA_EXPORT_WITH_RC4_40_MD5

値が指定されない場合、SunJSSE がサポートする既定の全ての暗号スイートが有効化されます。
-
説明 SSL2を有効にするか設定します。
項目名 server.network-config.protocols.protocol.protocol-name.ssl.ssl2-enabled -
既定値 FALSE -
備考 - SSL2はサポートしていません。
説明 SSL3を有効にするか設定します。
項目名 server.network-config.protocols.protocol.protocol-name.ssl.ssl3-enabled SSLProtocol
既定値 TRUE 無効
備考 SSL3はセキュリティ上問題がありますので。無効にすることを検討してください。 SSL3はセキュリティ上問題がありますので。有効にする際はご注意ください。
説明 TLSを有効にするか設定します。
項目名 server.network-config.protocols.protocol.protocol-name.ssl.tls-enabled SSLProtocol
既定値 TRUE 有効
備考 - TLS1.0/TLS1.1/TLS1.2が利用可能です。
説明 TLSロールバックを有効にするか設定します。
項目名 server.network-config.protocols.protocol.protocol-name.ssl.tls-rollback-enabled -
既定値 TRUE -
備考 TLSロールバックを有効化するかどうかを決定します。TLSロールバックはMicrosoft Internet Explorer 5.0 and 5.5に対して有効化されます。 対応項目はありません。

1.3.4. 外部Webサーバ設定方法

項目の設定

外部Webサーバを利用する場合は、事前に環境設定ツールを使って連携のための設定が必要です。設定方法は、「セットアップガイド > 2. インストール > 2.3. インストール後の作業」を参照してください。

外部Webサーバの設定方法については次の2通りがあります。なお、下記は外部Webサーバと連携するためのコネクタに関する設定です。Webサーバ自体の設定については、それぞれのマニュアルを参照してください。

Webコンテナ管理コンソールによる設定

Webコンテナの運用管理コンソールの「コネクタ」項目で、外部のWebサーバと連携するためのコネクタの設定ができます。コネクタの「種類」が"AJP"と表示されているものが外部Webサーバ連携用のコネクタです。詳細は「1.4. Webコンテナ」を参照してください。

MOによる参照と設定

外部Webサーバ連携用コネクタの設定は、WebコンテナのMOを介してもアクセス可能です。対象となる MO の Dottedname は「server.http-service.http-listener.http-listener-name」です。属性 protocol の値が "AJP/1.3" となっているものが外部Webサーバ連携用コネクタです。詳細は「1.4. Webコンテナ」を参照してください。