应用服务器上下文
目录
App Server上下文
App Server上下文
描述
An App Server Context provides an easy way to configure a Ruby Rack/Rails, WSGI, or Node.js application. To add a an application through an App Server Context, only mounting the URL and the application's root directory is required. There is no need to go through all the trouble to define an external application, add a 404 handler, and rewrite rules, etc.
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',以及Node.js的'app.js'。
语法
相对于应用程序根目录的路径
运行模式
描述
指定应用程序的运行模式:"Development"(开发)、 "Production"(生产)或"Staging"(预发布)。默认值为"Production"(生产)。
语法
从下拉列表选择
最大连接数
描述
指定服务器与外部应用之间可建立的最大并发连接数。该设置控制外部应用程序可同时处理多少个请求。 然而,真正的限制还取决于外部应用本身。如果外部的速度不够快,或者无法处理大量的并发请求,那么将这个值设置得更高也无济于事。
语法
非负整数
提示
性能 设置一个高值并不能直接变成高性能。设置为一个不会使外部应用程序过载的值,将提供最佳的性能/吞吐量。
启用过期
描述
指定是否为静态文件生成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]
示例
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操作指南。
语法
布尔值
提示
安全 建议尽可能关闭自动索引,以防止泄露机密数据。
另请参阅
允许覆盖
描述
指定访问控制文件中允许使用哪些指令。访问控制文件可以放在目录中,用于控制该目录下文件的可访问性。
- 如果未勾选任何选项,将使用继承的默认设置。
- 如果勾选无,访问控制文件将被忽略。
- 如果勾选限制,将允许使用"Allow"、"Deny"和"Order"指令。也允许使用<Limit>和<LimitExcept>指令,但仅有限支持GET、HEAD和POST请求。
- 如果勾选认证,将允许使用"AuthGroupFile"、"AuthName"、"AuthType"、"AuthUserFile"、"Require"和"Satisfy"指令。也允许使用<Limit>和<LimitExcept>指令,但仅有限支持GET、HEAD和POST请求。
- 如果勾选文件信息,将允许使用"AddDefaultCharset"、"AddType"、"DefaultType"、"ForceType"、"Redirect"、"RedirectPermanent"、"RedirectTemp"、"RewriteBase"、"RewriteCond"、"RewriteEngine"、"RewriteOptions"和"RewriteRule"指令。
- 如果勾选索引,将允许使用"DirectoryIndex"、"ExpiresActive"、"ExpiresByType"和"ExpiresDefault"指令。
- 如果勾选选项,将允许使用"Options"指令。
允许覆盖配置可在服务器、虚拟主机和上下文级别设置。如果某项配置在服务器级别未勾选,则无论较低级别如何设置,这些受控指令都会在整个服务器范围内禁用。较低级别可以禁用较高级别已启用的设置,但不能启用上级已禁用的设置。
默认值:
服务器级别:"None"(忽略访问控制文件)
VH级别:继承服务器级别设置
上下文级别继承VH级别设置
语法
复选框
提示
性能 如果不需要目录级配置自定义,请勾选无。
要求(已认证的用户/组)
描述
指定哪些用户/用户组可以访问此上下文。 这允许你在多个上下文中使用同一个用户/组数据库(由领域指定), 但只允许该数据库中的特定用户/组访问此上下文。
语法
语法与Apache的Require指令兼容。例如:
- user username [username ...]
只有列出的用户可以访问此上下文。 - group groupid [groupid ...]
只有属于列出组的用户可以访问此上下文。
允许访问列表
描述
指定允许访问此上下文下资源的IP地址或子网。综合 拒绝访问列表项的配置以及服务器/虚拟主机级别访问控制, 可访问性将以客户端IP所符合的最小范围来确定。
语法
逗号分隔的IP地址/子网列表。
示例
拒绝访问列表
描述
指定哪些IP地址或子网不允许访问此上下文下的资源。 综合允许访问列表项的配置以及服务器/虚拟主机级别访问控制, 可访问性将以客户端IP所符合的最小范围来确定。
语法
逗号分隔的IP地址/子网列表。
示例
授权器
描述
指定可用于生成授权/未授权决策的外部应用程序。目前仅FastCGI授权器可用。有关FastCGI授权器角色的更多详细信息, 请访问https://fastcgi-archives.github.io/。
语法
从下拉列表选择
重写规则
描述
指定虚拟主机级别的重写规则列表。
请勿在此处添加任何文档根级别的重写规则。 如果有来自.htaccess的文档根级别重写规则,请改为创建URI为"/"的静态Context, 并在那里添加这些重写规则。
重写规则由一个RewriteRule指令组成,并且前面可以选择性地放置多个RewriteCond指令。
- 每条指令应只占一行。
- RewriteCond和RewriteRule遵循Apache的重写指令语法。可以直接从Apache配置文件复制并粘贴重写指令。
- LiteSpeed与Apache mod_rewrite的实现有细微差别:
- %\{LA-U:variable\}和%\{LA-F:variable\}会被LiteSpeed重写引擎忽略。
- LiteSpeed重写引擎新增了两个服务器变量: %\{CURRENT_URI\}表示重写引擎正在处理的当前URI, %\{SCRIPT_NAME\}与对应CGI环境变量含义相同。
- LiteSpeed重写引擎遇到[L]标志后会停止处理重写规则以避免循环; Apache mod_rewrite只会停止当前迭代中的重写规则处理。此行为类似于Apache mod_rewrite中的[END]标志。
LiteSpeed重写引擎实现遵循Apache重写引擎规范。 有关重写规则的更多详细信息,请参阅 Apache mod_rewrite文档 和 Apache URL重写指南 .
语法
字符串
遵循Cacheable
描述
当未提供LiteSpeed专用缓存控制时,遵循常规"Cache-Control"响应头的值。
LiteSpeed专用缓存控制包括X-litespeed-cache-control响应头,以及通过重写规则设置的cache-control环境变量。
语法
布尔值
提示
信息 此设置默认启用。
缓存键修改
描述
允许从URL中丢弃无用的查询字符串参数,使某些请求更适合缓存。
语法
clear丢弃所有先前配置;-qs:[string]丢弃名称与[string]完全匹配的所有查询字符串;-qs:utm*丢弃名称部分以[string]开头的所有查询字符串。每行输入一条规则。
示例
-qs:gclid丢弃名称与"gclid"完全匹配的所有查询字符串。
全部公共缓存
描述
公开缓存当前上下文(虚拟主机或上下文级别)下提供的所有URL。
通过Apache httpd.conf配置的虚拟主机,可以在服务器、虚拟主机、上下文、文件和location级别或.htaccess中使用"CacheEnable"和"CacheDisable"指令。"CacheEnable"和"CacheDisable"指令与Apache mod_cache指令兼容。但是,当它们在上下文、文件或location级别,或在.htaccess中使用时,"CacheEnable"和"CacheDisable"只会应用到当前级别以下的目录。URL参数将被忽略。
语法
布尔值
提示
信息 默认禁用。如果正在使用任何LSCache插件,请不要启用此设置。
全部私有缓存
描述
私有缓存当前上下文(虚拟主机或上下文级别)下提供的所有URL。
系统会根据用户的IP和已设置的cookie,为每个用户创建单独的缓存副本。
通过Apache httpd.conf配置的虚拟主机,可以在服务器、虚拟主机、目录、文件和location级别或.htaccess文件中使用"CacheEnable private /url"和"CacheDisable private /url"指令。"CacheEnable private"和"CacheDisable private"与Apache的mod_cache指令兼容,并会应用到当前级别以下的所有目录。但是,当它们在目录、文件或location级别,或在.htaccess文件中使用时,"CacheEnable private"和"CacheDisable private"只会应用到当前级别以下的目录。URL参数将被忽略。
语法
布尔值
提示
信息 默认禁用。如果正在使用任何LSCache插件,请不要启用此设置。
5XX响应微缓存
描述
当缓存响应头表明页面可缓存时,将返回HTTP状态码5xx(500、503等)的页面缓存10秒。
默认值:
服务器级别:Yes
VH级别:继承服务器级别设置
上下文级别继承VH级别设置
语法
布尔值
提示
性能 启用此设置有助于避免不良请求,也可以作为额外的DDoS保护。
添加默认字符集
描述
指定当内容类型为"text/html"或"text/plain"且没有参数时,是否向"Content-Type"响应报头添加字符集标记。设置为关时,该功能禁用。设置为开时,将添加自定义默认字符集中指定的字符集;如果未指定,则添加默认的"iso-8859-1"字符集。
语法
布尔值