Open LiteSpeed Web Serverユーザーズマニュアル - CGIコンテキスト
Description: Open LiteSpeed Web Serverユーザーズマニュアル - CGIコンテキスト.

ユーザーズマニュアル
Version 1.9 — Rev. 3

# CGIコンテキスト

#### 説明

CGIコンテキストは、特定のディレクトリ内のスクリプトをCGIスクリプトとして定義します。 このディレクトリは、ドキュメントルートの内側または外側にすることができます。 このディレクトリの下にあるファイルが要求されると、サーバは実行可能かどうかに関わらず、常にCGIスクリプトとして実行しようとします。 このように、CGIコンテキスト下のファイルの内容は常に保護されており、静的なコンテンツとして読み込むことができません。 すべてのCGIスクリプトをディレクトリに置いて、それらにアクセスするためのCGIコンテキストを設定することをお勧めします。

### URI

#### 説明

このコンテキストのURIを指定します。

#### 構文

URIは通常のURI（"/"で始まる）またはPerl互換の正規表現URI（"exp:"で始まる）にできます。通常のURIが"/"で終わる場合、このコンテキストはこのURI配下のすべてのサブURIを含みます。コンテキストがファイルシステム上のディレクトリにマップされる場合は、末尾に"/"を追加する必要があります。

#### 参照

場所

### パス

#### 説明

CGIスクリプトの場所を指定します。

#### 構文

パスには、$VH_ROOT/myapp/cgi-bin/のようなCGIスクリプトのグループを含むディレクトリを指定できます。 この場合、コンテキストURIは/app1/cgi/のように"/"で終わる必要があります。 パスには、$VH_ROOT/myapp/myscript.plのようにCGIスクリプトを1つだけ指定することもできます。 このスクリプトには対応するURI /myapp/myscript.plが必要です。

### ヘッダー操作

#### 説明

追加するレスポンス/リクエストヘッダーを指定します。複数のヘッダーディレクティブを1行に1つ追加できます。"NONE"を使用すると、親ヘッダーの継承を無効にできます。ディレクティブが指定されていない場合は'Header'と見なされます。

#### 構文

[Header]|RequestHeader [condition] set|append|merge|add|unset header [value] [early|env=[!]variable]

#### 例

set Cache-control no-cache
append Cache-control no-store
Header set My-header cust_header_val
RequestHeader set My-req-header cust_req_header_val

#### ヒント

Information 構文と使用方法は、サポートされる操作について Apacheのmod_headersディレクティブ に似ています。
Information 'Header'ディレクティブは任意であり、他の場所からルールをコピーする際に除外しても残しても問題ありません。

### UIDの設定を許可する

#### 説明

設定されたUIDビットがCGIスクリプトに許可されるかどうかを指定します。 設定されたUIDビットが許可され、CGIスクリプトに対して設定されたUIDビットが有効になっている場合、CGIスクリプトがどのユーザーに代わって起動されたかにかかわらず、CGIプロセスのユーザーIDは、CGIスクリプトの所有者のユーザーIDに切り替わります。
デフォルトは「オフ」です。

#### 構文

ラジオボタンから選択

#### ヒント

[セキュリティ]可能であれば、UID CGIスクリプトを設定しないでください。 本質的にセキュリティリスクです。

### レルム

#### 説明

このコンテキストの認可レルムを指定します。 このコンテキストにアクセスするには、有効なユーザー名とパスワードを指定する必要があります。 認可レルムはバーチャルホストのセキュリティセクションに設定されています。 この設定では、各レルムのレルム名が使用されます。

#### 構文

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

### 認証名

#### 説明

現在のコンテキストの認証レルムの代替名を指定します。 指定しない場合、元のレルム名が使用されます。 認証名は、ブラウザのログインポップアップに表示されます。

#### 構文

テキスト

### 必要（許可ユーザー/グループ）

#### 説明

このコンテキストにアクセスできるユーザー/グループを指定します。 これにより、複数のコンテキストにわたって1つのユーザー/グループデータベース（レルムで指定）を使用できますが、そのデータベースの特定のユーザー/グループのみがこのコンテキストにアクセスできます。

#### 構文

構文はApache Requireディレクティブと互換性があります。 例えば：

- user username [username ...]
  リストされたユーザーだけがこのコンテキストにアクセスできます。
- group groupid [groupid ...]
  リストされたグループに属するユーザーのみがこのコンテキストにアクセスできます。

この設定を指定しないと、すべての有効なユーザーがこのリソースにアクセスできます。

### アクセス許可

#### 説明

このコンテキストでリソースにアクセスできるIPまたはサブネットワークを指定します。 アクセス拒否とサーバー/バーチャルホスト・レベルのアクセス制御とともに、アクセシビリティは、クライアントのIPアドレスが入る最小の範囲によって決まります。

#### 構文

IP/サブネットワークのカンマ区切りリスト。

#### 例

サブネットワークは以下のように書くことができます 192.168.1.0/255.255.255.0, 192.168.1, 又は 192.168.1.*.

### アクセス拒否

#### 説明

このコンテキストでリソースにアクセスできないIPまたはサブネットワークを指定します。 アクセス許可とサーバー/バーチャルホストレベルのアクセス制御とともに、アクセシビリティはクライアントのIPアドレスが入る最小の範囲で決まります。

#### 構文

IP/サブネットワークのカンマ区切りリスト。

#### 例

サブネットワークは以下のように書くことができます 192.168.1.0/255.255.255.0, 192.168.1, 又は 192.168.1.*.

### 承認者

#### 説明

権限のある/権限のないかの決定を生成するために使用できる外部アプリケーションを指定します。 現在、FastCGI Authorizerのみが使用可能です。 FastCGI Authorizerの役割の詳細については、 https://fastcgi-archives.github.io/ を参照してください。 。

#### 構文

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

### デフォルトの文字セットを追加

#### 説明

コンテンツタイプが "text/html"または "text/plain"のいずれかのパラメータがない場合、文字セットタグを "Content-Type"レスポンスヘッダーに追加するかどうかを指定します。 Offに設定すると、この機能は無効になります。 Onに設定すると、カスタマイズされたデフォルトの文字セットで指定された文字セットまたはデフォルトの "iso-8859-1"のいずれかが追加されます。

#### 構文

ラジオボタンから選択

### カスタマイズされたデフォルトの文字セット

#### 説明

デフォルトの文字セットを追加がOnのときに使用される文字セットを指定します。 これはオプションです。 デフォルト値は iso-8859-1 です。 デフォルトの文字セットを追加が Off の場合、このエントリは無効です。

#### 構文

文字セットの名前。

#### 例

utf-8

### Rewriteを有効にする

#### 説明

LiteSpeedのURL書き換えエンジンを有効にするかどうかを指定します。 このオプションは、バーチャルホストまたはコンテキストレベルでカスタマイズでき、明示的に上書きされるまでディレクトリツリーに沿って継承されます。

#### 構文

ラジオボックスから選択

### 継承を書き直す

#### 説明

親コンテキストから書き換えルールを継承するかどうかを指定します。 書き換えが有効で継承されていない場合は、このコンテキストで定義されている書き換えのベースルールと書き換えルールが使用されます。

#### 構文

ラジオボタンから選択

### 書き換えベース

#### 説明

書き換えルールのベースURLを指定します。

#### 構文

URL

### Rewriteルール

#### 説明

バーチャルホストレベルのRewriteルールのリストを指定します。
ここにはドキュメントルートレベルのRewriteルールを追加しないでください。.htaccess由来のドキュメントルートレベルのRewriteルールがある場合は、代わりにURI「/」の静的コンテキストを作成し、そこにRewriteルールを追加してください。
Rewriteルールは1つのRewriteRuleディレクティブで構成され、任意で複数のRewriteCondディレクティブを前に置くことができます。

- 各ディレクティブは1行だけにしてください。
- RewriteCondとRewriteRuleはApacheのRewriteディレクティブ構文に従います。Apache設定ファイルからRewriteディレクティブをコピーして貼り付けるだけで使用できます。
- LiteSpeedとApache mod_rewriteの実装には小さな違いがあります:
  - %\{LA-U:variable\}と%\{LA-F:variable\}はLiteSpeed Rewriteエンジンでは無視されます。
  - LiteSpeed Rewriteエンジンには2つの新しいサーバー変数があります。%\{CURRENT_URI\}はRewriteエンジンによって処理されている現在のURIを表し、%\{SCRIPT_NAME\}は対応するCGI環境変数と同じ意味を持ちます。
  - LiteSpeed Rewriteエンジンはループを避けるため、[L]フラグに遭遇するとRewriteルールの処理を停止します。一方、Apache mod_rewriteは現在の反復についてのみRewriteルールの処理を停止します。この動作はApache mod_rewriteの[END]フラグに似ています。

LiteSpeedのRewriteエンジン実装はApacheのRewriteエンジン仕様に従います。Rewriteルールの詳細については、Apacheのmod_rewriteドキュメントとApacheのURL Rewriteガイドを参照してください。

#### 構文

文字列

### GeoLocationルックアップを有効にする

#### 説明

IPジオロケーション検索を有効または無効にするかどうかを指定します。 サーバー、バーチャルホスト、またはコンテキストレベルで設定できます。"Not Set"値を使用すると、IPジオロケーションはデフォルトで無効になります。

#### 構文

ラジオボックスから選択

#### 参照

ヘッダー内のクライアントIPを使用, DBファイルパス,