### OpenLiteSpeed Web Server ユーザーズマニュアル

##### Version 1.4 — Rev. 3

- ライセンス
- はじめに
- インストール
- 管理
  - サービスマネージャ
- セキュリティ
- 設定
  - サーバー全般
  - サーバーログ
  - サーバーのチューニング
  - サーバーのセキュリティ
  - 外部アプリ
  - Fast CGIアプリ
  - Fast CGIオーソライザー
  - LSAPIアプリ
  - サーブレットエンジン
  - Webサーバー
  - パイプロガー
  - ロードバランサ
  - スクリプトハンドラ
  - Rack/Railsの設定
  - モジュール設定
  - リスナー全般
  - リスナーのSSL
  - テンプレート
  - バーチャルホストの基本
  - バーチャルホスト全般
  - バーチャルホストのセキュリティ
  - バーチャルホストのSSL
  - Rewrite
  - コンテキスト
  - 静的コンテテキスト
  - Java Webアプリのコンテキスト
  - サーブレットコンテキスト
  - Fast CGIコンテキスト
  - LSAPIコンテキスト
  - プロキシコンテキスト
  - CGIコンテキスト
  - ロードバランサコンテキスト
  - コンテキストのリダイレクト
  - Rack/Railsのコンテキスト
  - モジュールハンドラのコンテキスト
  - Web Socketプロキシ
- Webコンソール
  - 管理コンソール全般
  - 管理コンソールのセキュリティ
  - 管理リスナー全般
  - 管理リスナーのSSL

# Fast CGI 認証

## 目次

### 名前⇑

#### 説明

この外部アプリケーションの一意の名前。 設定の他の部分でこの名前を使用するときは、この名前で参照します。

### アドレス⇑

#### 説明

外部アプリケーションによって使用される一意のソケットアドレス。 IPv4/IPv6ソケットとUnixドメインソケット（UDS）がサポートされています。 IPv4/IPv6ソケットは、ネットワークを介した通信に使用できます。 UDSは、外部アプリケーションがサーバーと同じマシンにある場合にのみ使用できます。

#### 構文

IPv4またはIPV6アドレス：ポートまたはUDS：//パス

#### 例

127.0.0.1:5434
UDS://tmp/lshttpd/php.sock.

#### ヒント

[セキュリティ]外部アプリケーションが同じマシン上で実行される場合は、UDSが優先されます。 IPv4|IPV6ソケットを使用する必要がある場合は、IPアドレスをlocalhostまたは127.0.0.1に設定して、外部アプリケーションに他のマシンからアクセスできないようにします。
[パフォーマンス] Unixドメインソケットは、通常、IPv4ソケットよりも高いパフォーマンスを提供します。

### 最大接続数⇑

#### 説明

サーバーと外部アプリケーションの間で確立できる同時接続の最大数を指定します。 この設定は、外部アプリケーションによって同時に処理できる要求の数を制御しますが、実際の制限は外部アプリケーション自体によっても異なります。 この値を高く設定すると、外部アプリケーションの速度が不十分であるか、多数の同時要求に対応できない場合に役立ちません。

#### 構文

整数

#### ヒント

[パフォーマンス]高い値を設定しても、高いパフォーマンスに直接変換されるわけではありません。 制限を外部アプリケーションに負荷をかけない値に設定すると、最高のパフォーマンス/スループットが得られます。

### 環境⇑

#### 説明

外部アプリケーション用の追加の環境変数を指定します。

#### 構文

Key=value. 複数の変数は "ENTER"で区切ることができます。

### 初期要求タイムアウト（秒）⇑

#### 説明

サーバーが、新しいアプリケーションが新しい確立された接続を介して最初の要求に応答するのを待つ最長時間を秒単位で指定します。 サーバーがこのタイムアウト制限内に外部アプリケーションからデータを受信しない場合、この接続は不良とマークされます。 これにより、外部アプリケーションとの通信の問題をできるだけ迅速に特定することができます。 処理に時間がかかるリクエストがある場合は、この制限を増やして503のエラー・メッセージを避けてください。

#### 構文

整数

### リトライタイムアウト（秒）⇑

#### 説明

以前の通信に問題があった外部アプリケーションを再試行する前に、サーバーが待機する時間を指定します。

#### 構文

整数

### 永続的な接続⇑

#### 説明

要求後に接続を開いたままにするかどうかを指定します。 処理されました。 永続的接続はパフォーマンスを向上させる可能性がありますが、一部のFastCGI外部アプリケーションは永続的接続を完全にサポートしません。 デフォルトは "オン"です。

#### 構文

ラジオボックスから選択

### キープアライブタイムアウト（秒）⇑

#### 説明

アイドル状態の永続的な接続を開いたままにする最大時間を指定します。 "-1"に設定すると、接続はタイムアウトしません。 0以上に設定すると、この時間が経過した後に接続が閉じられます。

#### 構文

int

### 応答バッファリング⇑

#### 説明

外部から受信した応答をバッファリングするかどうかを指定します。 アプリケーション。 "nph-" (Non-Parsed-Header)スクリプトが検出された場合、完全なHTTPヘッダーを持つ応答ではバッファリングがオフになります。

#### 構文

ドロップダウンリストから選択

### 自動スタート⇑

#### 説明

Webサーバーでアプリケーションを自動的に開始するかどうかを指定します。 同じマシン上で実行されているFastCGIおよびLSAPIアプリケーションのみを自動的に起動することができます。 アドレスのIPはローカルIPでなければなりません。 メインサーバプロセスではなくLiteSpeed CGIデーモンを起動すると、システムのオーバーヘッドを軽減できます。

#### 構文

ドロップダウンリストから選択

### コマンド⇑

#### 説明

外部アプリケーションを実行するためのパラメータを含む完全なコマンドラインを指定します。 自動スタートが有効な場合は必須値です。 パラメータにスペースまたはタブ文字が含まれている場合は、パラメータを二重引用符または一重引用符で囲む必要があります。

#### 構文

オプションのパラメータを含む実行可能ファイルへのフルパス。

#### 参照

自動スタート

### バックログ⇑

#### 説明

リスニングソケットのバックログを指定します。 自動スタートが有効な場合は必須です。

#### 構文

整数

### インスタンス⇑

#### 説明

サーバーが作成する外部アプリケーションの最大インスタンスを指定します。 自動スタートが有効な場合は必須です。 ほとんどのFastCGI/LSAPIアプリケーションは、プロセスインスタンスごとに1つの要求しか処理できません。これらのタイプのアプリケーションの場合、インスタンスは最大接続数の値に一致するように設定する必要があります。 一部のFastCGI / LSAPIアプリケーションでは、複数の子プロセスを生成して複数の要求を同時に処理できます。 これらのタイプのアプリケーションでは、インスタンスを "1"に設定し、環境変数を使用してアプリケーションが生成できる子プロセスの数を制御する必要があります。

#### 構文

整数

### suEXECユーザー⇑

#### 説明

外部アプリケーションが実行されるユーザー名を指定します。 設定されていない場合、外部アプリケーションはWebサーバーのユーザーとして実行されます。

#### 構文

有効なユーザー名。

#### 参照

extGroup

### suEXECグループ⇑

#### 説明

外部アプリケーションが実行されるグループ名を指定します。

#### 構文

有効なグループ名。

#### 参照

extUser

### umask⇑

#### 説明

この外部アプリケーションのプロセスのデフォルトumaskを設定します。 詳細は、man 2 umaskを参照してください。 デフォルト値はサーバーレベルのumask設定から取得されます。

#### 構文

有効範囲[000]〜[777]の値。

#### 参照

CGI umask

### 起動時に実行⇑

#### 説明

サーバーの起動時に外部アプリケーションを起動するかどうかを指定します。 自身の子プロセスを管理できる外部アプリケーション、およびインスタンスの値が "1"に設定されている場合にのみ適用されます。 有効にすると、実行時ではなくサーバーの起動時に外部プロセスが作成されます。

#### 構文

ラジオボックスから選択

#### ヒント

[パフォーマンス] Railsアプリケーションのように、設定された外部プロセスに重大な起動オーバーヘッドがある場合、このオプションを有効にして最初のページ応答時間を短縮する必要があります。

### 最大アイドル時間⇑

#### 説明

サーバーが外部アプリケーションを停止するまでの最大アイドル時間を指定します。 "-1"に設定すると、外部アプリケーションはサーバーによって停止されません。 デフォルト値は "-1"です。 この機能により、アイドル状態のアプリケーションが使用するリソースを解放することができます。 最大限のセキュリティを確保するために、setuidモードで動作する多くのアプリケーションを定義する必要がある場合には、マスホスティング環境で特に便利です。

#### 構文

ラジオボックスから選択

#### ヒント

[パフォーマンス]この機能は、大規模なホスティング環境で特に便利です。 あるバーチャルホストが所有するファイルが別のバーチャルホストの外部アプリケーションスクリプトによってアクセスされないようにするため、大量ホスティングではSetUIDモードで同時に多くの異なるアプリケーションを実行する必要があります。 これらの外部アプリケーションが不必要にアイドリングしないように、この最大アイドル時間を低く設定します。

### 優先度⇑

#### 説明

外部アプリケーション・プロセスの優先度を指定します。 値の範囲は−20〜20です。 数字が小さいほど優先度が高くなります。 外部アプリケーションプロセスは、Webサーバーよりも高い優先度を持つことはできません。 この優先度がサーバーの数値より低い数値に設定されている場合は、サーバーの優先度がこの値に使用されます。

#### 構文

整数

#### 参照

Server プライオリティ

### メモリソフトリミット（バイト）⇑

#### 説明

外部アプリケーション・プロセスまたはサーバーによって開始された外部アプリケーションのメモリー消費制限をバイト単位で指定します。
この制限の主な目的は、ソフトウェアのバグや意図的な攻撃のために過度のメモリ使用を防止し、通常の使用に制限を設けないことです。 十分なヘッドスペースを確保してください。そうしないと、アプリケーションが失敗し、503エラーが返される可能性があります。 サーバーレベルまたは個々の外部アプリケーションレベルで設定できます。 サーバーレベルの制限は、個々のアプリケーションレベルで設定されていない場合に使用されます。
オペレーティングシステムのデフォルト設定は、値が両方のレベルにないか、0に設定されている場合に使用されます。

#### 構文

整数

#### ヒント

[注意]この制限を過度に調整しないでください。 アプリケーションでより多くのメモリが必要な場合は、503のエラーが発生する可能性があります。

### メモリハードリミット⇑

#### 説明

ソフトリミットをユーザープロセス内のハードリミットまで上げることができることを除けば、メモリソフトリミット（バイト）と同じくらい同じです。 ハード・リミットは、サーバー・レベルまたは個々の外部アプリケーション・レベルで設定できます。 サーバーレベルの制限は、個々のアプリケーションレベルで設定されていない場合に使用されます。
値が両方のレベルにないか、0に設定されている場合、オペレーティングシステムのデフォルトが使用されます。

#### 構文

整数

#### ヒント

Do not over adjust this limit. This may result in 503 errors if your application need more memory.

### プロセスソフトリミット⇑

#### 説明

ユーザーに代わって作成できるプロセスの総数を制限します。 既存のすべてのプロセスは、開始される新しいプロセスだけでなく、この限度に対してカウントされます。 制限は、サーバーレベルまたは個々の外部アプリケーションレベルで設定できます。
サーバーレベルの制限は、個々のアプリケーションレベルで設定されていない場合に使用されます。 この値が0または両方のレベルにない場合、オペレーティングシステムのデフォルト設定が使用されます。

#### 構文

整数

#### ヒント

PHPスクリプトはプロセスをフォークするために呼び出すことができます。 この制限の主な目的は、フォーク爆弾や他のプロセスを作成するPHPプロセスによって引き起こされる他の攻撃を防ぐための最終防衛線です。
この設定を低すぎると、機能が著しく損なわれる可能性があります。 この設定は特定のレベル以下では無視されます。
suEXECデーモンモードを使用する場合、親プロセスが制限されないように、実際のプロセス制限はこの設定よりも高くなります。

### プロセスハードリミット⇑

#### 説明

ソフトリミットをユーザープロセス内のハードリミットまで上げることができることを除けば、プロセスソフトリミットとほとんど同じです。 ハードリミットは、サーバー・レベルまたは個々の外部アプリケーションレベルで設定できます。 サーバーレベルの制限は、個々のアプリケーションレベルで設定されていない場合に使用されます。 オペレーティングシステムのデフォルト値は、値が両方のレベルにないか、0に設定されている場合に使用されます。

#### 構文

整数