OpenLiteSpeed用户手册 - Java Web应用上下文
Description: OpenLiteSpeed用户手册 - Java Web应用上下文.

用户手册
Version 1.9 — Rev. 3

# Java Web应用上下文

#### 描述

许多运行Java应用程序的用户也使用Servlet引擎提供静态内容。 但在这些处理上，Servlet引擎远不如LiteSpeed Web Server高效。 为了提升整体性能，可以将LiteSpeed Web Server配置为网关服务器，由它提供静态内容并将动态Java页面请求转发到Servlet引擎。
LiteSpeed Web Server需要定义特定上下文才能运行Java应用程序。 Java Web应用上下文会根据Java Web应用程序的配置文件（WEB-INF/web.xml）自动创建所有必需的上下文。
设置Java Web应用上下文时需要注意：

- 设置Java Web应用上下文之前，必须先在外部应用中设置Servlet Engine外部应用程序。
- 还应为.jsp文件定义脚本处理程序。
- 如果Web应用程序打包为.war文件，必须先展开该.war文件。服务器无法访问压缩归档文件。
- 访问同一资源时，无论通过LiteSpeed Web Server还是Servlet引擎内置HTTP服务器，都应使用相同URL。
  例如，Tomcat 4.1安装在/opt/tomcat下，"examples" Web应用程序文件位于/opt/tomcat/webapps/examples/。 通过Tomcat内置HTTP服务器访问该应用时使用类似"/examples/***"的URI。 因此对应的Java Web应用上下文应配置为： URI = /examples/, 位置 = /opt/tomcat/webapps/examples/。

### URI

#### 描述

指定此上下文的URI。URI应以"/"开头。 如果URI以"/"结尾，则此上下文将包含该URI下的所有子URI。

#### 语法

URI

### 位置

#### 描述

指定包含此Web应用程序文件的目录。该目录应包含"WEB-INF/web.xml"。
默认值：$DOC_ROOT + URI

#### 语法

路径

### Servlet Engine

#### 描述

指定为该Web应用程序提供服务的Servlet Engine的名称。 Servlet引擎必须在服务器或虚拟主机级别的外部应用中定义。

#### 语法

从下拉列表选择

### 启用过期

#### 描述

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

#### 语法

布尔值

### 默认过期

#### 描述

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

#### 语法

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

### 按类型过期

#### 描述

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

#### 语法

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

### 标头控制

#### 描述

指定要添加的附加响应/请求头。可添加多个头指令，每行一个。"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

#### 提示

[信息] 语法和用法类似于 Apache的mod_headers指令
[信息] 'Header'指令是可选的。从其他位置复制规则时，可以移除或保留它，不会影响使用。

### 自动索引

#### 描述

在目录中，当索引文件中所列的索引文件不可用时，指定运行时是否即时生成目录索引。
此选项可以在虚拟主机级别和Context级别中设置，并可以顺着目录树继承，直到被显式覆盖。 您可以自定义生成的索引页面。请查看在线Wiki操作指南。

#### 语法

布尔值

#### 提示

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

#### 另请参阅

索引文件, 自动索引URI

### 索引文件

#### 描述

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

#### 语法

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

#### 提示

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

### 域

#### 描述

指定此上下文的授权域。 指定后，必须提供有效的用户名和密码才能访问此上下文。 授权Realm需要在虚拟主机安全部分进行设置。 此设置使用每个授权域的Realm名称。

#### 语法

从下拉列表选择

### 认证名称

#### 描述

为当前上下文的授权域指定一个替代名称。 如果未指定，将使用原授权域名称。 认证名称会显示在浏览器登录弹窗中。

#### 语法

文本

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

#### 描述

指定哪些用户/用户组可以访问此上下文。 这允许你在多个上下文中使用同一个用户/组数据库（由域指定）， 但只允许该数据库中的特定用户/组访问此上下文。

#### 语法

语法与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授权器可用。有关FastCGI授权器角色的更多详细信息， 请访问https://fastcgi-archives.github.io/。

#### 语法

从下拉列表选择

### 添加默认的字符集

#### 描述

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

#### 语法

布尔值

### 自定义默认字符集

#### 描述

指定当添加默认的字符集为On时使用的字符集。此项可选，默认值为iso-8859-1。当添加默认的字符集为Off时，本设置不生效。

#### 语法

字符集名称。

#### 示例

utf-8

### 启用IP地理定位

#### 描述

指定是否启用IP地理定位查找。 可以在服务器、虚拟主机或上下文级别设置。使用“Not Set”值时，默认禁用IP地理定位。

#### 语法

布尔值

#### 另请参阅

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