## OpenLiteSpeed Web Server Users' Manual

### Version 1.7 — Rev. 18

- 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

# 虚拟主机安全

## Table of Contents

### reCAPTCHA 保护⇑

#### Description

reCAPTCHA 保护是一种减轻服务器负载的服务。在下列情况发生后，reCAPTCHA保护将激活 激活后,所以不受信任的客户端(可自定)发出的请求将被重定向到reCAPTCHA验证页面 验证完成后客户端将被重定向到其所需的页面
下列情况将启用reCAPTCHA保护: 1. 服务器或虚拟主机并发请求计数超过连接限制。
2. 启用了Anti-DDoS，并且客户端以可疑的方式访问了URL。 客户端将首先重定向到reCAPTCHA，而不是在触发时被拒绝。
3. 提供了新的重写规则，以通过重写规则激活reCAPTCHA。可以设置“verifycaptcha”将客户端重定向到reCAPTCHA。可以设置一个特殊值':deny'以在客户端失败太多次时拒绝它。例如，[E=verifycaptcha]将始终重定向到reCAPTCHA，直到通过验证。 [E=verifycaptcha: deny]将重定向到reCAPTCHA，如果客户端达到最大尝试次数,将被拒绝。

### 启用reCAPTCHA⇑

#### Description

必须先在服务器级别将此设置设置为是,才能在当前级别启用并使用reCAPTCHA保护功能。
默认值:
服务器级别: 是
虚拟主机级别: 继承服务器级别设置

#### Syntax

从单选框选择

### 网站密匙⇑

#### Description

站点密钥是Google通过其reCAPTCHA服务提供的公共密钥。 如果未设置，将使用默认的站点密钥。

### 密匙⇑

#### Description

密匙是Google通过其reCAPTCHA服务提供的私钥。 如未设置将使用默认的密匙

### reCAPTCHA类型⇑

#### Description

指定要与密钥对一起使用的reCAPTCHA类型。 如果未提供密钥对，并且此设置设置为 未设置，将使用隐形类型的默认密钥对。
复选框将显示一个复选框reCAPTCHA，以供访问者验证。
隐形将尝试自动验证reCAPTCHA，如果成功，将重定向到所需的页面。
默认值为隐形。

#### Syntax

从列表中选择

### 最大尝试次数⇑

#### Description

“最大尝试次数”指定在拒绝访客之前允许的最大reCAPTCHA次尝试次数。
默认值是 3.

#### Syntax

整数

### 并发请求限制⇑

#### Description

激活reCAPTCHA所需的并发请求数。 当并发请求数超过该值时将启用reCAPTCHA， 默认值为15000.

#### Syntax

整数

### Bubblewrap Container⇑

#### Description

Set to On if you wish to start CGI processes (including PHP programs) in a bubblewrap sandbox. See https://wiki.archlinux.org/index.php/Bubblewrap for details on using bubblewrap. Bubblewrap must be installed on your system prior to using this setting.
This setting cannot be turned on at the Virtual Host level if set to "Disabled" at the Server level.
Default values:
Server level: Disabled
VH level: Inherit Server level setting

#### Syntax

从列表中选择

### 登入限制⇑

#### Description

指定哪些子网络和/或IP地址可以访问该服务器。 这是影响所有的虚拟主机的服务器级别设置。您还可以为每个虚拟主机设置登入限制。虚拟主机的设置不会覆盖服务器设置。
是否阻止/允许一个IP是由允许列表与阻止列表共同决定。 如果你想阻止某个特定IP或子网，请在允许列表中写入* 或 ALL，并在拒绝列表中写入需要阻止的IP或子网。 如果你想允许某个特定的IP或子网，请在拒绝列表中写入* 或 ALL，并在允许列表中写入需要允许的IP或子网。 单个IP地址是被允许访问还是禁止访问取决于该IP符合的最小限制范围。
信任的IP或子网络可以在允许列表列表中添加后缀“T”来指定。受信任的IP或子网不受连接数/流量限制。 只有服务器级别的登入限制才可以设置受信任的IP或子网。

#### 提示

[安全建议] 用此项设置适用于所有虚拟主机的常规限制。

### 允许列表⇑

#### Description

指定允许的IP地址或子网的列表。 可以使用{VAL}*或{VAL}ALL。

#### Syntax

逗号分隔的IP地址或子网列表。 结尾加上“T”可以用来表示一个受信任的IP或子网，如{VAL}192.168.1.*T。

#### 例子

子网: 192.168.1.0/255.255.255.0, 192.168.1.0/24, 192.168.1 或 192.168.1.*.
IPv6 地址: ::1 或 [::1]
IPv6 子网: 3ffe:302:11:2:20f:1fff:fe29:717c/64 或 [3ffe:302:11:2:20f:1fff:fe29:717c]/64.

#### 提示

[安全建议] 在服务器级别设置的受信任的IP或子网不受连接/节流限制。

### 拒绝列表⇑

#### Description

指定不允许的IP地址或子网的列表。

#### Syntax

逗号分隔的IP地址或子网列表。 可以使用{VAL}*或{VAL}ALL。

#### 例子

子网: 192.168.1.0/255.255.255.0, 192.168.1.0/24, 192.168.1 或 192.168.1.*.
IPv6 地址: ::1 或 [::1]
IPv6 子网: 3ffe:302:11:2:20f:1fff:fe29:717c/64 或 [3ffe:302:11:2:20f:1fff:fe29:717c]/64.

### Realms授权⇑

#### Description

列出这个虚拟主机的所有Realm。 Realm授权可以阻止未授权用户访问受保护的网页。 Realm是一个用户名录，其中包含了用户名、密码、分组（可选）。授权是在context级别执行的。不同的context可以共享相同的Realm（用户数据库），所以Realm是与调用它的context分开定义的。你可以通过context配置中的名称识别Realm。

### 域名称⇑

#### Description

指定授权域的唯一名称。

### 用户数据库地址⇑

#### Description

指定用户数据库的位置。 建议将数据库存储在$ SERVER_ROOT / conf / vhosts / $ VH_NAME /目录下。
对于类型为Password File的数据库，应设置为包含用户名/密码的展平文件的路径。 您可以在WebAdmin控制台中点击文件名来进行修改。
用户文件的每一行都包含一个用户名，后跟一个冒号，然后是一个crypt()加密的密码，后面还可以跟一个冒号和用户所属的组。多个组名用逗号隔开。
Example:

> `john:HZ.U8kgjnMOHo:admin,user`

#### Syntax

Path to user DB file.

#### See Also

组数据库位置, 密码属性名, Member-of 属性

### 用户数据库最大缓存大小⇑

#### Description

指定用户数据库的最大缓存大小。 最近访问的用户认证信息会被缓存在内存中以提供最佳性能。

#### Syntax

整数

#### 提示

[性能建议] 由于更大的缓存会消耗更多的内存，更高的值可能会也可能不会提供更好的性能。 请根据您的用户数据库大小和网站使用情况来设定一个合适的大小。

### 用户数据库缓存超时 (secs)⇑

#### Description

指定多久检查一次后端用户数据库变更。 在缓存中每个条目都有一个时间戳。 当缓存日期超过指定的超时时间时，将检查后端数据库是否有变化。 如果没有，时间戳将被重置为当前时间，否则会将新的数据载入。 服务器重载和平滑重启会立即清除缓存。

#### Syntax

整数

#### 提示

[性能建议] 如果后端数据库不经常发生变更，设置较长的缓存时间来获得更好的性能。

### 组数据库位置⇑

#### Description

指定组数据库的位置。
组信息可以在用户数据库或在这个独立的组数据库中设置。 用于用户验证时，将首先检查用户数据库。 如果用户数据库同样包含组信息，组数据库将不被检查。
对于类型为Password File的数据库， 组数据库地址应当是到达包含有组定义的平面文件的路径。 你可以在WebAmin控制台中点击文件名来修改这个设置。
每一行组文件应当包含一个组名， 组名后面跟一个冒号，并在冒号后面使用空格来分割组中的用户名。 例如:

> `testgroup: user1 user2 user3`

#### Syntax

文件名可以是绝对路径,也可以是相对于$SERVER_ROOT,$VH_ROOT的相对路径。

#### See Also

用户数据库地址, Context Require（授权的用户/组）, 组成员属性名

### 组数据库最大缓存大小⇑

#### Description

指定组数据库的最大缓存大小。

#### Syntax

整数

#### 提示

[性能建议] 由于更大的缓存会消耗更多的内存， 更高的值可能会也可能不会提供更好的性能。 请根据你的用户数据库大小和网站使用情况来设置合适的大小。

#### See Also

用户数据库最大缓存大小

### 组数据库缓存超时时长(secs)⇑

#### Description

指定多长时间后台组数据库将检查一次变更。 查看更多详细信息查看用户数据库缓存超时 (secs)。

#### Syntax

整数

#### See Also

用户数据库缓存超时 (secs)