Rack/Rails上下文
目录
Rack/Rails上下文
Rack/Rails上下文
描述
A Rack/Rails Context provides an easy way to configure a Ruby Rack/Rails application. To add a Rack/Rails application through a Rack/Rails Context, only mounting the URL and the application's root directory is required. There is no need to go through all the troubles to define an external application, add a 404 handler, and rewrite rules, etc.
URI
描述
指定此上下文的URI。
语法
URI可以是普通URI(以"/"开头),也可以是Perl兼容的正则表达式URI(以"exp:"开头)。 如果普通URI以"/"结尾,则此上下文将包含该URI下的所有子URI。 如果上下文映射到文件系统上的目录,则必须添加结尾的"/"。
另请参阅
位置
描述
Specifies the corresponding location of this context in the file system.
默认值:$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的运行模式:"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/。
语法
从下拉列表选择
添加默认字符集
描述
指定当内容类型为"text/html"或"text/plain"且没有参数时,是否向"Content-Type"响应报头添加字符集标记。设置为关时,该功能禁用。设置为开时,将添加自定义默认字符集中指定的字符集;如果未指定,则添加默认的"iso-8859-1"字符集。
语法
布尔值
重写规则
描述
指定虚拟主机级别的重写规则列表。
请勿在此处添加任何文档根级别的重写规则。 如果有来自.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重写指南 .
语法
字符串
全部公共缓存
描述
公开缓存当前上下文(虚拟主机或上下文级别)下提供的所有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保护。
启用IP地理定位
描述
Enterprise Edition Only 指定是否启用IP地理定位查找。 可以在服务器、虚拟主机或上下文级别设置。使用“Not Set”值时,默认禁用IP地理定位。
语法
布尔值