App Serverコンテキスト
目次
App Serverコンテキスト
App Serverコンテキスト
説明
App Serverコンテキストは、Ruby Rack/Rails、WSGI、またはNode.jsアプリケーションを簡単に設定する方法を提供します。App Serverコンテキストを通じてアプリケーションを追加するには、URLとアプリケーションのルートディレクトリをマウントするだけで済みます。外部アプリケーションを定義し、404ハンドラを追加し、Rewriteルールを設定するなどの手間は不要です。
URI
説明
このコンテキストのURIを指定します。
構文
URIは通常のURI("/"で始まる)またはPerl互換の正規表現URI("exp:"で始まる)にできます。通常のURIが"/"で終わる場合、このコンテキストはこのURI配下のすべてのサブURIを含みます。コンテキストがファイルシステム上のディレクトリにマップされる場合は、末尾に"/"を追加する必要があります。
参照
場所
説明
ファイルシステム内で、このコンテキストに対応する場所を指定します。
デフォルト値:$DOC_ROOT + URI
構文
絶対パス、または$SERVER_ROOT、$VH_ROOT、$DOC_ROOTからの相対パスを指定できます。 $DOC_ROOTはデフォルトの相対パスであり、省略できます。
URIが正規表現の場合、一致した部分文字列を使用して"Root"文字列を構成できます。一致した部分文字列は"$1"から"$9"の値で参照できます。"$0"と"&"を使用して、一致した文字列全体を参照することもできます。さらに、"?"の後にクエリ文字列を追加して、クエリ文字列を設定できます。注意してください。クエリ文字列内の"&"は"\&"としてエスケープする必要があります。
例
Apacheのmod_userdirをシミュレートするには、URIをexp: ^/~([A-Za-z0-9]+)(.*)に設定し、場所を/home/$1/public_html$2に設定します。この設定では、URI/~john/foo/bar.htmlのリクエストはファイル/home/john/public_html/foo/bar.htmlにマップされます。
参照
起動ファイル
説明
アプリケーションの起動に使用するファイルの場所です。アプリケーションルートディレクトリからの相対パスで指定します。
デフォルトの起動ファイル名には、Rack/Railsの'config.ru'、WSGIの'wsgi.py'と'passenger_wsgi.py'、NodeJSの'app.js'が含まれます。
構文
パス
実行時モード
説明
アプリケーションを実行するモードを指定します。"Development"、"Production"、または"Staging"を選択できます。 デフォルトは"Production"です。
構文
ドロップダウンリストから選択
最大接続数
説明
サーバーと外部アプリケーションの間で確立できる同時接続の最大数を指定します。 この設定は、外部アプリケーションによって同時に処理できる要求の数を制御しますが、実際の制限は外部アプリケーション自体によっても異なります。 この値を高く設定すると、外部アプリケーションの速度が不十分であるか、多数の同時要求に対応できない場合に役立ちません。
構文
整数
ヒント
[パフォーマンス]高い値を設定しても、高いパフォーマンスに直接変換されるわけではありません。 制限を外部アプリケーションに負荷をかけない値に設定すると、最高のパフォーマンス/スループットが得られます。
有効期限を有効にする
説明
静的ファイルのExpiresヘッダーを生成するかどうかを指定します。 有効にすると、デフォルトの期限とタイプ別の期限に基づいてExpiresヘッダーが生成されます。
これは、サーバー、バーチャルホスト、コンテキストレベルで設定できます。 下位レベルの設定は上位レベルの設定を上書きします。 コンテキスト設定はバーチャルホストの設定を上書きし、バーチャルホストの設定はサーバーの設定を上書きします。
構文
ラジオボタンから選択
デフォルトの期限
説明
Expiresヘッダー生成のデフォルト設定を指定します。 この設定は、有効期限を有効にするが "はい"に設定されているときに有効になります。 タイプ別の期限で上書きできます。 すべてのページのExpiresヘッダーが生成されるため、必要がない限り、このデフォルトをサーバーまたはバーチャルホストレベルで設定しないでください。 ほとんどの場合、これは頻繁に変更されない特定のディレクトリのコンテキストレベルで設定する必要があります。 デフォルト設定がない場合、タイプ別の期限で指定されていないタイプに対してExpiresヘッダーは生成されません。
構文
A|M秒
このファイルは、基本時間(A | M)に指定された秒を加えた後に期限切れになります。 ベース時刻 "A"はクライアントのアクセス時間に値を設定し、 "M"はファイルの最終変更時刻を設定します。
タイプ別の期限
説明
各MIMEタイプのExpiresヘッダー設定を指定します。
構文
"MIME-type=A|Mseconds"のカンマで区切られたリスト。 このファイルは、基本時間(A|M)に指定された秒を加えた後に期限切れになります。
ベース時刻 "A"はクライアントのアクセス時間に値を設定し、 "M"はファイルの最終変更時刻を設定します。 MIMEタイプはimage/*のようなワイルドカード "*"を受け入れます。
ヘッダー操作
説明
追加するレスポンス/リクエストヘッダーを指定します。複数のヘッダーディレクティブを1行に1つ追加できます。"NONE"を使用すると、親ヘッダーの継承を無効にできます。ディレクティブが指定されていない場合は'Header'と見なされます。
構文
[Header]|RequestHeader [condition] set|append|merge|add|unset header [value] [early|env=[!]variable]
例
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'ディレクティブは任意であり、他の場所からルールをコピーする際に除外しても残しても問題ありません。
インデックスファイル
説明
URLがディレクトリにマップされたときに順番に検索されるインデックスファイルの名前を指定します。 サーバー、バーチャルホスト、コンテキストレベルでカスタマイズできます。
構文
インデックスファイル名のカンマ区切りリスト。
ヒント
[パフォーマンス]必要なインデックスファイルのみを設定します。
自動インデックス
説明
インデックスファイルにリストされているインデックスファイルがディレクトリで使用できないときに、その場でディレクトリインデックスを生成するかどうかを指定します。 このオプションは、バーチャルホストおよびコンテキストレベルでカスタマイズ可能で、明示的に上書きされるまでディレクトリツリーに沿って継承されます。 生成された索引ページをカスタマイズできます。 オンラインWikiのHow-toを確認してください。
構文
ラジオボックスから選択
ヒント
[セキュリティ] 可能であれば、自動インデックスをオフにして、機密データの漏えいを防ぐことをお勧めします。
参照
レルム
説明
このコンテキストの認可レルムを指定します。 このコンテキストにアクセスするには、有効なユーザー名とパスワードを指定する必要があります。 認可レルムはバーチャルホストのセキュリティセクションに設定されています。 この設定では、各レルムのレルム名が使用されます。
構文
ドロップダウンリストから選択
必要(許可ユーザー/グループ)
説明
このコンテキストにアクセスできるユーザー/グループを指定します。 これにより、複数のコンテキストにわたって1つのユーザー/グループデータベース(レルムで指定)を使用できますが、そのデータベースの特定のユーザー/グループのみがこのコンテキストにアクセスできます。
構文
構文はApache Requireディレクティブと互換性があります。 例えば:
- user username [username ...]
リストされたユーザーだけがこのコンテキストにアクセスできます。 - group groupid [groupid ...]
リストされたグループに属するユーザーのみがこのコンテキストにアクセスできます。
アクセス許可
説明
このコンテキストでリソースにアクセスできるIPまたはサブネットワークを指定します。 アクセス拒否とサーバー/バーチャルホスト・レベルのアクセス制御とともに、アクセシビリティは、クライアントのIPアドレスが入る最小の範囲によって決まります。
構文
IP/サブネットワークのカンマ区切りリスト。
例
アクセス拒否
説明
このコンテキストでリソースにアクセスできないIPまたはサブネットワークを指定します。 アクセス許可とサーバー/バーチャルホストレベルのアクセス制御とともに、アクセシビリティはクライアントのIPアドレスが入る最小の範囲で決まります。
構文
IP/サブネットワークのカンマ区切りリスト。
例
承認者
説明
権限のある/権限のないかの決定を生成するために使用できる外部アプリケーションを指定します。 現在、FastCGI Authorizerのみが使用可能です。 FastCGI Authorizerの役割の詳細については、 https://fastcgi-archives.github.io/ を参照してください。 。
構文
ドロップダウンリストから選択
Rewriteを有効にする
説明
LiteSpeedの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ガイドを参照してください。
構文
文字列
デフォルトの文字セットを追加
説明
コンテンツタイプが "text/html"または "text/plain"のいずれかのパラメータがない場合、文字セットタグを "Content-Type"レスポンスヘッダーに追加するかどうかを指定します。 Offに設定すると、この機能は無効になります。 Onに設定すると、カスタマイズされたデフォルトの文字セットで指定された文字セットまたはデフォルトの "iso-8859-1"のいずれかが追加されます。
構文
ラジオボタンから選択
カスタマイズされたデフォルトの文字セット
説明
デフォルトの文字セットを追加がOnのときに使用される文字セットを指定します。 これはオプションです。 デフォルト値は iso-8859-1 です。 デフォルトの文字セットを追加が Off の場合、このエントリは無効です。
構文
文字セットの名前。