3. HTTPサーバ

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

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

WebOTX AS インストール時に、利用するWebサーバを正しく指定していればインストール後に設定する項目は、特にありません。 利用中のドメインで別のWebサーバに変更する必要が生じた場合には、「初期設定ツール」を起動し、外部Webサーバとの連携設定を行う必要があります。

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

3.1.1. 項目の設定

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

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

Webコンテナの運用管理コンソールの「network-listener」項目で、Javaベースの内蔵Webサーバの設定ができます。リスナの名称が"HTTPリスナ〜"と表示されているものが内蔵Webサーバです。詳細は「Webコンテナ」を参照してください。

MOによる参照と設定

Javaベースの内蔵Webサーバの設定は、WebコンテナのMOを介してもアクセス可能です。対象となる MO の Dottedname は「server.network-config.network-listeners.network-listener.リスナ名」です。 「server.network-config.network-listeners.network-listener.リスナ名.protocol」に紐付いた 「server.network-config.protocols.protocol.protocol名.type」の値が"nio"となっているものが内蔵Webサーバです。詳細は[ Webコンテナ ]を参照してください。

3.1.2. SSL通信の設定方法

詳細は[ 共通SSL設定 ]を参照してください。

3.2. WebOTX Webサーバ設定方法

ここでは、WebOTXで利用するWebサーバとして、「WebOTX Webサーバ」を利用する場合の設定方法について記載します。その他の外部Webサーバの設定については、[ 外部Webサーバ設定方法 ] を、Javaベースの内蔵Webサーバの設定については、[ Webコンテナ ] を参照してください。

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

3.2.1. MOによる参照と設定

運用管理コマンド / 統合運用管理ツールで変更 / 参照可能な項目と、その方法については、[ Webサーバガイド > 定義情報の参照, 定義情報の更新, 定義情報の追加 ] を参照してください。

3.2.2. 定義情報ファイル

WebOTX Webサーバの定義情報は、定義情報ファイル (httpd.conf / ssl.conf) に格納され、WebOTX Webサーバ起動時に読み込まれます。 定義情報ファイルは、WebOTX のドメイン毎に格納されるため、ドメイン毎に定義情報を変更する必要があります。

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

格納場所

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

3.2.3. 基本定義

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

3.2.3.1. ServerRoot
名前 ServerRoot
説明 WebOTX Webサーバが動作するルートディレクトリを設定します。 この値は既定値以外の値に変更することはありません。
書式 ServerRoot directory-path
設定例
(既定値)
(Windows)
 ServerRoot "C:/WebOTX/domains/domain1"

(UNIX)
 ServerRoot /opt/WebOTX/domains/domain1
3.2.3.2. Listen
名前 Listen
説明 WebOTX Webサーバが利用するリクエスト受付用のポート番号を指定します。 Listen ディレクティブは、 ポート番号だけを設定する 方法と、IPアドレスとポート番号を一緒に設定する方法があります。
UNIX 版において、インストール時に「WebOTX 運用ユーザを利用する」を指定した場合、通常、1024 以下のポート番号を設定することはできません。1024 以下のポート番号を利用する場合については、[ 注意制限事項 > WebOTX運用ユーザ利用時のポート番号制限 ] を参照してください。
書式 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

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

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

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

3.2.3.6. LoadModule
名前 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

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

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

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

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

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

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

(UNIX)
  ThreadsPerChild 25
3.2.4.3. MinSpareThreads / MaxSpareThreads
名前 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
3.2.4.4. StartServers
名前 StartServers
説明 (UNIX でのみ有効)
起動時に生成される子プロセス数を設定します。
なお、mod_cgid モジュールがロードされている場合には、CGIプログラム実行用の 子プロセスがあらかじめ起動するため、総子プロセス数は、本設定値 + 1 となります。
書式 StartServers number 
設定例(既定値) StartServers 2
3.2.4.5. ServerLimit / ThreadLimit
名前 ServerLimit
ThreadLimit
説明 (UNIXでのみ有効)
子プロセスの上限値 (ServerLimit)、子プロセス内で 動作するスレッドの上限値 (ThreadLimit) を設定します。
ThreadsPerChild 値に 64以上の値を設定する場合には、 ThreadLimit にもその値以上の値を設定してください。
書式 ServerLimit number
ThreadLimit number
設定例 ServerLimit 16
ThreadLimit 64
3.2.4.6. MaxRequestsPerChild
名前 MaxRequestsPerChild
説明 個々の子サーバプロセスが稼働中に扱うリクエスト数の 上限を設定します。ここで指定した数のリクエストを受け付けた後、 その子プロセスは終了します。
0を指定した場合、上限なしとなり、その子プロセスはリクエスト数の上限超えにより終了することはありません。
書式 MaxRequestsPerChild number
設定例 MaxRequestsPerChild 0

3.2.5. SSL 定義

ここでは SSL通信を行う場合、定義情報ファイルに定義する 主な設定を説明します。
SSLに関する設定は、ssl.confファイルに格納されています。

3.2.5.1. SSLEngine
名前 SSLEngine
説明 SSLを有効にします。通常、<VirtualHost> 内で使用され、特定の仮想ホストに対してSSLを有効にします。
書式 SSLEngine On|Off
設定例 <VirtualHost _default_:443>
  SSLEngine on
  ...
</VirtualHost>
3.2.5.2. SSLCertificateFile
名前 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
3.2.5.3. SSLCertificateKeyFile
名前 SSLCertificateKeyFile
説明 SSLで利用するサーバの秘密鍵ファイルを設定します。
パスフレーズ付きの秘密鍵を利用する場合は、SSLPassPhraseDialogディレクティブの設定も必要です。ただし、Windowsでは、パスフレーズ付きの秘密鍵をサポートしていません。Windowsの場合や、パスフレーズの解除が必要な場合には、次のコマンドを実行し、秘密鍵からパスフレーズを解除してください。
  > openssl rsa -in (秘密鍵ファイル名) -out (パスフレーズなし秘密鍵ファイル名)
書式 SSLCertificateKeyFile path
設定例 SSLCertificateKeyFile /opt/WebOTX/WebServer24/conf/ssl.key/sample.key
3.2.5.4. SSLCACertificateFile
名前 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
3.2.5.5. SSLVerifyClient
名前 SSLVerifyClient
説明 クライアント認証を行う場合、クライアント側での証明書の提示方式を設定します。次のいずれかを指定します。
none : クライアント認証を要求しない。
optional : クライアント認証を要求する。クライアントから有効な証明書が提示されなくても、処理を続行します。
require : クライアント認証を要求する。クライアントから有効な証明書が提示されない場合、エラーを発生させます。
optional_no_ca : クライアント認証を要求する。クライアントから提示された証明書が検証できなくても、処理を続行します。
書式 SSLVerifyClient level
設定例 (クライアント認証を行わない場合)
  SSLVerifyClient none

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

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

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

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

(指定されたユーザ(admin)のみディレクトリのアクセスを許可する場合)
  Require user admin
3.2.6.5. Order
名前 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
3.2.6.6. Allow / Deny
名前 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

3.2.7. LDAP 連携

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

3.2.7.1. AuthLDAPUrl
名前 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>
 

3.2.8. ログ出力

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

3.2.8.1. ErrorLog
名前 ErrorLog
説明 エラーログファイルのローテートの設定や、出力ファイル名を指定します。
エラーログには、リクエスト処理中に発生したエラーがすべて出力されます。 また、サーバ起動時やサーバ動作に問題が発生した場合にも、このファイルに情報が出力されます。
書式 ErrorLog errorlog-path
設定例
(既定値)
(Windows)
  ErrorLog "||\"C:/WebOTX/WebServer24/bin/rotatelogs.exe\" -n 3 \"C:/WebOTX/domains/domain1/logs/web/error.log\" 10M"

(UNIX)
  ErrorLog "|\"/opt/WebOTX/WebServer24/bin/rotatelogs\" -n 3 \"/opt/WebOTX/domains /domain1/logs/web/error_log\" 10M"
3.2.8.2. CustomLog
名前 CustomLog
説明 アクセスログファイルのローテート設定や、出力ファイル、出力するフォーマット (LogFormat) 情報のニックネーム等を指定します。
書式 CustomLog file-path|pipe format|nickname
設定例
(既定値)
(Windows)
  CustomLog "||\"C:/WebOTX/WebServer24/bin/rotatelogs.exe\" -n 5 \"C:/WebOTX/domains/domain1/logs/web/access.log\" 10M" common
  CustomLog "||\"C:/WebOTX/WebServer24/bin/rotatelogs.exe\" -n 5 \"C:/WebOTX/domains/domain1/logs/web/ssl_request.log\" 10M" "%{%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\" -n 5 \"/opt/WebOTX/domains/domain1/logs/web/access_log\" 10M" common
  CustomLog "|\"/opt/WebOTX/WebServer24/bin/rotatelogs\" -n 5 \"/opt/WebOTX/domains/domain1/logs/web/ssl_request_log\" 10M" "%{%Y-%m-%d %H:%M:%S}t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %>s %b %D"
3.2.8.3. LogFormat
名前 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の設定によるサーバ名
3.2.8.4. LogLevel
名前 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…
(設定ファイルを開いている…)
3.2.8.5. ErrorLogFormat
名前 ErrorLogFormat
説明 エラーログに出力するメッセージの出力書式を設定します。
書式 ErrorLogFormat [connection|request] format
設定例
(既定値)
ErrorLogFormat "[%{uc}t] [%-m:%l] [pid %P:tid %T] %7F: %E: [client\ %a] %M% ,\ referer\ %{Referer}i"

3.2.9. 通信関連

WebOTX Webサーバとの通信で利用する。

3.2.9.1. KeepAlive
名前 KeepAlive
説明 HTTPレベルのキープアライブ動作を指定します。SoKeepAlive の値が On の場合、本項目 (KeepAlive) の設定は無視され、 TCPレベルのキープアライブ動作をさせます。 SoKeepAlive の値が Off で、KeepAlive の値が On の場合、HTTPレベルのキープアライブ動作を有効にし、 リクエストをMaxKeepAliveRequests回処理するか、KeepAliveTimeoutが発生するまで接続を維持します。
書式 KeepAlive On|Off
設定例
(既定値)
KeepAlive On
3.2.9.2. MaxKeepAliveRequests
名前 MaxKeepAliveRequests
説明 一つの接続で、受け付け可能なリクエストの数を制限します。 SoKeepAliveがOff、かつ、KeepAliveがOnの場合に有効です。 0 を設定した場合、受け付けるリクエストは無制限になります。
書式 MaxKeepAliveRequests number
設定例
(既定値)
MaxKeepAliveRequests 100
3.2.9.3. KeepAliveTimeout
名前 KeepAliveTimeout
説明 接続を閉じる前に、Webサーバが次のリクエストを何秒待つかを指定します。 この時間を経過するとクライアント側にFINを送信します。SoKeepAliveがOff、かつ、KeepAliveがOnの場合に有効です。 同じクライアントからのリクエスト要求が連続してくるような場合、本設定を用いることで、クライアントとの接続に費やす時間を削除することができます。
書式 KeepAliveTimeout seconds
設定例
(既定値)
KeepAliveTimeout 10
3.2.9.4. SoKeepAlive
名前 SoKeepAlive
説明 SO_KEEPALIVEソケットオプションの値です。Onにした場合、TCPレベルで持続的な接続を有効にします。
書式 SoKeepAlive On|Off
設定例
(既定値)
SoKeepAlive Off
3.2.9.5. ReceiveBufferSize
名前 ReceiveBufferSize
説明 TCP ソケットの受信バッファのサイズをバイト単位で指定します。
書式 ReceiveBufferSize bytes
設定例
(既定値)
ReceiveBufferSize 65536
3.2.9.6. SendBufferSize
名前 SendBufferSize
説明 TCP ソケットの送信バッファのサイズをバイト単位で指定します。
書式 SendBufferSize bytes
設定例
(既定値)
SendBufferSize 65536
3.2.9.7. SoLinger
名前 SoLinger
説明 SO_LINGERソケットオプションの値です。ソケットクローズ時の残存メッセージ送信待ち時間を、秒単位で指定します。
書式 SoLinger linger-on-close
設定例
(既定値)
SoLinger -1
3.2.9.8. SoReuseAddr
名前 SoReuseAddr
説明 SO_REUSEADDRソケットオプションの値です。ローカルアドレスの再利用可否を指定します。
書式 SoReuseAddr On|Off
設定例
(既定値)
SoReuseAddr On
3.2.9.9. TcpNodelay
名前 TcpNodelay
説明 TCP_NODELAYソケットオプションの値です。Nagleアルゴリズムの利用可否を指定します。
書式 TcpNodelay On|Off
設定例
(既定値)
TcpNodelay On

なお、KeepAliveディレクティブと、SoKeepAliveディレクティブの関係は、次の通りです。

KeepAlive SoKeepAlive 動作
On On HTTPレベルのキープアライブ動作を無効にし、TCPレベルのキープアライブ動作をさせます。
Off On
On Off HTTPレベルのキープアライブ動作のみを有効にします。 リクエストをMaxKeepAliveRequests回処理するか、KeepAliveTimeoutが発生するまで接続を維持します。
Off Off HTTPレベル、および、TCPレベルのキープアライブ動作をさせません。 HTTP/1.0の動作となり、リクエストのたびに、毎回接続/切断を行います。

ユーザ数が限られている場合や、必要に応じてブラウザを落とす前提で良ければ、 HTTPレベルのキープアライブを無効 (KeepAlive Off) にして、 TCPレベルのキープアライブを有効 (SoKeepAlive On) にすることで、 コネクション再利用が最大化され、性能的なメリットを受けることができます。

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

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


なお、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サーバのセキュリティ対策上、問題となる場合があります。 本設定を有効に変更する場合には、十分な注意が必要です。

3.2.11. その他の定義情報

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

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

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

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 備考欄を参照してください。
既定値 100 -
備考 Webコンテナが生成できるリクエスト受け付けプロセッサの最大数を設定します。 MaxClients 400 ThreadLimit 1920/64(Windows/Unix)
ServerLimit 16
ThreadsPerChild 25
説明 待ち受け待機数を設定します。
項目名 server.thread-pools.thread-pool.thread-pool-name.min-thread-pool-size ThreadsPerChild(Windowsの場合)
StartServers(Unixの場合)
既定値 25 400(Windowsの場合)
2(Unixの場合)
備考 Webコンテナ起動時に生成するリクエスト受け付けプロセッサの数を設定します。  

3.3.2. SSLに関する設定

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 が実装する暗号スイートです。
詳しくは次のドキュメントを参照してください。
https://docs.oracle.com/javase/jp/8/docs/
 > その他の基本ライブラリ
  > セキュリティ
   > Oracleプロバイダ
    > 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
既定値 FALSE 無効
備考 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に対して有効化されます。 対応項目はありません。

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

3.4.1. 項目の設定

環境構築ツールを使ってのドメイン作成時に、利用するWebサーバを指定することでWebコンテナとの連携設定が自動で行われます。 内蔵Webサーバを利用している環境から外部Webサーバに連携する環境に変更する場合には初期設定ツールを使って連携のための設定が必要です。設定方法は、 [ Webコンテナ > Webコンテナと連携するWebサーバを切り替える方法 > Javaベースの内蔵Webサーバから外部Webサーバへ切り替える場合 ] を参照してください。

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

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

Webコンテナの運用管理コンソールの「network-listener」項目で、外部のWebサーバと連携するためのリスナの設定ができます。リスナの名称が"AJPリスナ(〜)"と表示されているものが外部Webサーバ連携用のリスナです。詳細は「Webコンテナ」を参照してください。

MOによる参照と設定

外部Webサーバ連携用リスナの設定は、WebコンテナのMOを介してもアクセス可能です。対象となる MO の Dottedname は「server.network-config.network-listeners.network-listener.リスナ名」です。
「server.network-config.network-listeners.network-listener.リスナ名.protocol」に紐付いた 「server.network-config.protocols.protocol.protocol名.type」の値が"ajp"となっているものがエージェントプロセス用外部Webサーバ連携用リスナ設定です。詳細は「Webコンテナ」を参照してください。

「server.network-config.network-listeners.network-listener.リスナ名.protocol」に紐付いた 「server.network-config.protocols.protocol.protocol名.type」の値が"tpm"となっているものがTPシステム用外部Webサーバ連携用リスナ設定(プロトコル用の設定※1)です。詳細は「Webコンテナ」を参照してください。

※1 通信に関する設定は「TPシステム」の「WebOTX AJPリスナ」を参照してください。