### OpenLiteSpeed Web Server Users' Manual

##### Version 1.6 — Rev. 2

- License
- Introduction
- Installation
- Administration
  - Service Manager
- Security
- Configuration
  - Server General
  - Server Log
  - Server Tuning
  - Server Security
  - External Apps
  - Fast CGI App
  - Fast CGI Authorizer
  - LSAPI App
  - Servlet Engine
  - Web Server
  - Piped logger
  - Load Balancer
  - Script Handler
  - App Server Settings
  - Module Configuration
  - Listener General
  - Listener SSL
  - Virtual Host Templates
  - Virtual Host Basic
  - Virtual Host General
  - Virtual Host Security
  - Virtual Host SSL
  - Rewrite
  - Context
  - Static Context
  - Java Web App Context
  - Servlet Context
  - Fast CGI Context
  - LSAPI Context
  - Proxy Context
  - CGI Context
  - Load Balancer Context
  - Redirect Context
  - App Server Context
  - Module Handler Context
  - Web Socket Proxy
- Web Console
  - Admin Console General
  - Admin Console Security
  - Admin Listener General
  - Admin Listener SSL

# Java Web App Context

## Table of Contents

### Java Web App Context⇑

#### Description

Many people running Java applications use the servlet engine to serve static content as well. But no servlet engine is nearly as efficient as LiteSpeed Web Server for these processes. In order to improve the overall performance, LiteSpeed Web Server can be configured as a gateway server, which serves static content and forwards dynamic Java page requests to the servlet engine.
LiteSpeed Web Server requires certain contexts to be defined in order to run a Java application. A Java Web App Context automatically creates all required contexts based on the Java web application's configuration file (WEB-INF/web.xml).
There are a few points you need to keep in mind when setting up a Java Web App Context:

- A Servlet Engine external application must be set up in External Apps before Java Web App Context can be set up.
- A Script Handler for .jsp files should be defined as well.
- If the web application is packed into a .war file, the .war file must be expanded. The server cannot access compressed archive files.
- For the same resources, the same URL should be used no matter whether it is accessed through LiteSpeed Web Server or through the servlet engine's built-in HTTP server.
  For example, Tomcat 4.1 is installed under /opt/tomcat. Files for the "examples" web application are located at /opt/tomcat/webapps/examples/. Through Tomcat's built-in HTTP server, the "examples" web application is thus accessed with a URI like "/examples/***". The corresponding Java Web App Context should thus be configured: URI = /examples/, Location = /opt/tomcat/webapps/examples/.

### URI⇑

#### Description

指定此context下的URI。这个URI应该以"/"开始。 如果一个URI以"/"结束，那么该context将包含这个URI下的所有下级URI。

#### Syntax

URI

### Location⇑

#### Description

Specifies the directory that contains the files for this web application. This is the directory containing "WEB-INF/web.xml".
Default value: $DOC_ROOT + URI

#### Syntax

path

### Servlet Engine⇑

#### Description

Specifies the name of the servlet engine that serves this web application. Servlet engines must be defined in the External Apps section at the server or virtual host level.

#### Syntax

Select from drop down list

### 启用过期⇑

#### Description

指定是否为静态文件生成Expires头。如果启用，将根据 默认过期和按类型过期生成Expires头。
这可以在服务器，虚拟主机和Context级别设置。低级别的设置将 覆盖高级别的设置。例如，Context级别的设置将覆盖虚拟主机级别的设置， 虚拟主机级别的设置将覆盖服务器级别的设置。

#### Syntax

布尔值

### 默认过期⇑

#### Description

指定生成Expires头的默认设置。该设置在启用过期 设为“启用”时有效。它可以被按类型过期覆盖。 除非必要，否则不要在服务器或虚拟主机级别设置该默认值。 因为它会为所有网页生成Expires头。大多数时候，应该是 为不常变动的某些目录在Context级别设置。如果没有默认设置，按类型过期中未指定的类型不会生成Expires头。

#### Syntax

A|M秒数
文件将在基准时间（A|M）加指定秒数的时间后失效。 “A”代表基准时间为客户端的访问时间，“M”代表文件的最后修改时间。

### 按类型过期⇑

#### Description

为各个MIME类型分别指定Expires头设置。

#### Syntax

逗号分隔的“MIME-类型=A|M秒数”的列表。 文件将在基准时间（A|M）加指定秒数的时间后失效。
“A”代表基准时间为客户端的访问时间，“M”代表文件的最后修改时间。 MIME-类型可使用通配符“*”，如image/*。

### Header Operations⇑

#### Description

Specifies additional response/request headers to be added. Multiple header directives can be added with one directive per line. "NONE" can be used to disable parent header inheritance. If no directive is provided 'Header' is assumed.

#### Syntax

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

#### Example

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

#### Tips

Syntax and usage are similar to Apache's mod_headers directives for supported operations.
The 'Header' directive is is optional and can be excluded or left in when copying rules from elsewhere without issue.

### 自动索引⇑

#### Description

在目录中，当索引文件中所列的索引文件不可用时，指定运行时是否即时生成目录索引。
此选项可以在虚拟主机级别和context级别中设置，并可以顺着目录树继承，直到被覆盖。 您可以自定义生成的索引页面。请访问在线百科了解如何操作。

#### Syntax

布尔值

#### Tips

[安全建议] 建议关闭自动索引，从而尽可能防止泄露机密数据。

#### See Also

索引文件, 自动索引URI

### 索引文件⇑

#### Description

指定URL映射到目录时顺序查找的索引文件名称。 您可以在服务器、虚拟主机和Context级别对其进行自定义。

#### Syntax

逗号分隔的索引文件名列表。

#### Tips

[性能建议] 只设置你需要的索引文件。

### Realm⇑

#### Description

指定这个context下的realm授权。 当指定时，必须提供有效的用户和用户名来访问这个context。 Realms授权需要在Virtual Host Security部分进行设置。此设置使用每个realm的Realm名称。

#### Syntax

选项

### 认证名称⇑

#### Description

为当前context下的realm认证指定一个替代的名称。 如果没有指定，原realm名称将被使用。 认证名称将显示在浏览器登陆弹出窗口。

#### Syntax

文本

### Require（授权的用户/组）⇑

#### Description

指定哪些用户/用户组可以访问此context。 这里允许你使用一个用户/组数据库(在 Realm中指定)访问多个context， 但只允许该数据库下特定的用户/组访问这个context。

#### Syntax

语法兼容Apache的Require指令。例如:

- user username [username ...]
  只有列出的用户可以访问这个context;
- group groupid [groupid ...]
  用户必须属于列出的组才可以访问这个context。

如果没有指定，所有有效的用户都可以访问这个资源。

### 允许访问列表⇑

#### Description

指定允许访问这个context下资源的IP地址或子网。综合 拒绝访问列表项的配置以及服务器/虚拟主机级别访问控制， 可访问性将以客户端IP所符合的最小范围来确定。

#### Syntax

逗号分隔的IP地址/子网列表。

#### Example

子网络可以写成192.168.1.0/255.255.255.0, 192.168.1 或192.168.1.*。

### 拒绝访问列表⇑

#### Description

指定哪个IP地址或子网不被允许访问这个context下的资源。 综合允许访问列表项的配置以及服务器/虚拟主机级别访问控制， 可访问性将以客户端IP所符合的最小范围来确定。

#### Syntax

逗号分隔的IP地址/子网列表。

#### Example

子网络可以写成192.168.1.0/255.255.255.0, 192.168.1 或192.168.1.*。

### Authorizer⇑

#### Description

Specifies an external application that can be used to generate authorized/unauthorized decisions. Currently, only the FastCGI Authorizer is available. For more details about the FastCGI Authorizer role, please visit http://www.fastcgi.com.

#### Syntax

Select from drop down list

### 添加默认的字符集⇑

#### Description

指定当内容类型是"text/html"或"text/plain"且没有参数时，是否添加字符集标记到"Content-Type"响应报头中。当设置为Off时，该功能禁用。当设置为On时，将添加自定义默认字符集中指定的字符集，如果没有指定，将添加默认的"iso-8859-1"字符集。

#### Syntax

布尔值

### 自定义默认字符集⇑

#### Description

指定一个字符集当添加默认的字符集是On时使用。这是可选的。默认值是iso-8859-1。当添加默认的字符集是Off时本设置将不生效。

#### Syntax

字符集的名称，例如utf-8

#### Example

utf-8

### 启用IP地理定位⇑

#### Description

指定是否启用IP地理定位查找。 可以在服务器级别，虚拟主机级别，或context级别设置。

#### Syntax

布尔值

#### See Also

使用报头中的客户端IP, 数据库文件路径,