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

##### Version 1.8 — Rev. 3

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

# 外部アプリケーション

LiteSpeed Webサーバーは、動的コンテンツを処理および生成するために外部アプリケーションに要求を転送できます。 LiteSpeed Web Serverは、2.0以降、CGI、FastCGI、Webサーバー、サーブレットエンジン、LiteSpeed SAPIアプリケーション、ロードバランサ、およびパイプロガーの7種類の外部アプリケーションをサポートしています。

- CGIはCommon Gateway Interfaceの略です。 現在の標準はCGI / 1.1です。 CGIアプリケーションはスタンドアロンプロセスで動作します。 各要求に対してCGIプロセスが開始され、要求終了後に終了します。
- FastCGIは、プロプライエタリなAPI（アプリケーションプログラミングインターフェイス）のオーバーヘッドと複雑さを導入することなく、CGIに内在するパフォーマンスの問題を解決する、高速でオープンで安全なWebサーバーインターフェイスです。 詳細については、{ext-href} https://fastcgi-archives.github.io/ {ext-href-end} https://fastcgi-archives.github.io/ {ext-href-end-a}をご覧ください。 LiteSpeed Web Serverでは、FastCGIアプリケーションは動的応答の生成（応答者の役割）または要求の承認（承認者の役割）の2つの役割を果たすことができます。 LiteSpeed Web Serverは、ローカルFastCGIとリモートFastCGIの2種類のFastCGIアプリケーションをさらに定義します。 ローカルFastCGIアプリケーションは、オンデマンドでWebサーバーによって自動的に開始されます。 リモートFastCGIアプリケーションは、Webサーバーによって開始されません。 （これらはリモートマシン上または同じマシン上で実行できます。）
- WebサーバーはHTTP 1.0 / 1.1プロトコルをサポートするサーバーアプリケーションです。 LiteSpeed Webサーバーは、透過的な逆プロキシとして機能し、Webサーバーとアプリケーションサーバーを高速化および保護します。 バックエンドWebサーバーと通信する場合、LiteSpeedは常に最高のパフォーマンスを達成するために永続的な接続を利用しようとします。
- サーブレットエンジンは、JavaサーブレットとJava Server Pagesを実装するApache TomcatやJettyのようなアプリケーションです。 LiteSpeedはAJPv1.3（Apache JServプロトコルバージョン1.3）を介してサーブレットエンジンと通信できます。 サーブレットエンジンはWebサーバーから起動できず、リモートマシン上で実行するように設定できます。
- LiteSpeed SAPI（LiteSpeed Server Application Programming Interface）アプリケーションは、LiteSpeed Web Serverと最大限の効率を達成するために特別に設計された高速でスケーラブルなサーバーインターフェイスであるLiteSpeed Web Serverと通信するアプリケーションです。 LSAPIの動作メカニズムはFastCGIに似ていますが、LSAPIアプリケーションは同等のFastCGIアプリケーションより最大30％高速です。 LSAPIは、サポートされるアプリケーションに対してFastCGIよりも強く推奨されます。 （LSAPIは現在、PHP、Ruby、Pythonで書かれたアプリケーションをサポートしています）。 LSAPIの詳細については、次のURLを参照してください。 {ext-href}http://www.litespeedtech.com/products/litespeed-sapi/overview/{ext-href-end}http://www.litespeedtech.com/products/litespeed-sapi/overview/{ext-href-end-a}.
- ロードバランサはバーチャル外部アプリケーションで、ワークロードに基づいてバックエンドワーカーアプリケーションに要求を割り当てます。 ワーカーアプリケーションは、CGI、FastCGI、Webサーバー、サーブレットエンジン、またはLSAPIアプリケーションです。 1つのロードバランサの下でさまざまな種類のアプリケーションを混在させることができます。 ロードバランサとパイプロガーはワーカーアプリケーションとして使用できません。
- パイプロガーは、アクセスログをリアルタイムで処理したり、アクセスログをデータベースに書き込んだり、リアルタイム統計計算を実行したりするアプリケーションです。

CGIアプリケーションとは異なり、FastCGIアプリケーション、LSAPIアプリケーション、およびサーブレットエンジンは、要求の処理後に終了しません。 アプリケーションプロセスは維持され、持続し、できるだけ多くの要求を処理します。 ソケット接続は、複数のリクエストに対しても再利用できます。 外部アプリケーションは、{PAGE = ExtApp_Help}セクションで設定できます。 ただし、外部アプリケーションは単独では機能しません。 Webサーバーがどのアプリケーションにどの要求を送信するかを知るように、追加の設定を構成する必要があります。 LiteSpeed Web Serverでこれを設定するには、2つの方法があります:

1. 外部アプリケーションを特定のコンテキストのハンドラとして設定します。
2. ファイルサフィックスバインディングを使用して、外部アプリケーションをスクリプト言語のハンドラとして設定します。

FastCGIアプリケーション、LSAPIアプリケーション、Webサーバー、サーブレットエンジン、およびロードバランサは、コンテキストまたはスクリプトサフィックスを処理するように構成する前に、{PAGE=ExtApp_Help}セクションで定義する必要があります。 {PAGE=ExtApp_Help}セクションでCGIアプリケーションを定義する必要はありません。 外部アプリケーションは、サーバーレベルまたはバーチャルホストレベルで構成できます。 サーバーレベルで構成すると、アプリケーションはすべてのバーチャルホストで使用できます。 バーチャルホストレベルで設定すると、そのバーチャルホストだけが使用できます。

## 目次

### タイプ⇑

#### 説明

外部アプリケーションのタイプを指定します。 アプリケーションタイプは、提供するサービスまたはサーバーとの通信に使用するプロトコルによって区別されます。 以下から選んでください。

- FastCGI: Responderロールを持つFastCGIアプリケーションです。
- FastCGI Authorizer: Authorizerロールを持つFastCGIアプリケーション
- Servlet Engine: tomcatなどのAJPv13コネクタを持つサーブレットエンジンです。
- Web Server: HTTPプロトコルをサポートするWebサーバーまたはアプリケーションサーバー。
- LiteSpeed SAPI App: LSAPIプロトコルを使用してWebサーバーと通信するアプリケーションです。
- Load Balancer:ワーカーアプリケーション間の負荷を分散できるバーチャルアプリケーションです。
- Piped Logger: STDINストリームで受け取ったアクセスログエントリを処理できるアプリケーションです。

#### 構文

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

#### ヒント

ほとんどのアプリケーションは、LSAPIまたはFastCGIプロトコルを使用します。 LSAPIはPHP、Ruby、Pythonをサポートしています。 PerlはFastCGIで使用できます。 （PHP、Ruby、およびPythonはFastCGIを使用して実行するように設定することもできますが、LSAPIを使用する方が高速です）。Javaはサーブレットエンジンを使用します。