CGI Context

Table of Contents

CGI Context

URI | 路径 | 标头控制 | 允许设置UID | | 认证名称 | Require(授权的用户/组) | 允许访问列表 | 拒绝访问列表 | Authorizer | 添加默认的字符集 | 自定义默认字符集 | 启用重写 | 重写继承 | 重写基准 | 重写规则 | 启用IP地理定位

CGI Context

Description

A CGI context defines scripts in a particular directory as CGI scripts. This directory can be inside or outside of the document root. When a file under this directory is requested, the server will always try to execute it as a CGI script, no matter if it's executable or not. In this way, file content under a CGI Context is always protected and cannot be read as static content. It is recommended that you put all your CGI scripts in a directory and set up a CGI Context to access them.

URI

Description

Specifies the URI for this context.

Syntax

指定此context下的URI。这个URI应该以"/"开始。 如果一个URI以"/"结束,那么该context将包含这个URI下的所有下级URI。如果context类型映射到系统目录上,则必须添加结尾的"/"

See Also

位置

路径

Description

指定CGI脚本的位置.

Syntax

The path can be a directory that contains a group of CGI scripts, like $VH_ROOT/myapp/cgi-bin/. In this case, the context URI must end with "/", like /app1/cgi/. The Path can also specify only one CGI script, like $VH_ROOT/myapp/myscript.pl. This script should have the corresponding URI /myapp/myscript.pl.

标头控制

Description

指定要添加的附加响应/请求头。可以添加每行一个来添加多个头指令。"NONE "可以用来禁止父头继承。如果没有提供,则假定为 "Header"。

Syntax

[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's mod_headers directives

The 'Header' directive is is optional and can be excluded or left in when copying rules from elsewhere without issue.

允许设置UID

Description

指定CGI脚本是否允许设置UID。如果允许,并且为CGI脚本启用了设置UID,那么无论CGI脚本是代表哪个用户启动的,CGI进程的用户ID都将切换为CGI脚本所有者的用户ID。
默认值是 "关"

Syntax

从单选框选择

提示

[安全建议] 尽可能不要允许CGI脚本设置UID,因为这存在着安全风险

Description

指定这个context下的realm授权。 当指定时,必须提供有效的用户和用户名来访问这个context。 Realms授权需要在虚拟主机安全部分进行设置。 此设置使用每个realm的域名称

Syntax

从列表中选择

认证名称

Description

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

Require(授权的用户/组)

Description

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

Syntax

Syntax is compatible with Apache's Require directive. For example:

  • user username [username ...]
    Only listed users can access this context.
  • group groupid [groupid ...]
    Only users belonging to the listed groups can access this context.
If this setting is not specified, all valid users will be allowed to access this resource.

允许访问列表

Description

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

Syntax

Comma-delimited list of IPs/sub-networks.

例子

网络可以写成192.168.1.0/255.255.255.0, 192.168.1192.168.1.*

拒绝访问列表

Description

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

Syntax

Comma-delimited list of IPs/sub-networks.

例子

子网络可以写成192.168.1.0/255.255.255.0, 192.168.1192.168.1.*

Authorizer

Description

指定可用于生成授权/未授权 decisions的外部应用程序。 目前,仅FastCGI授权器可用。 有关FastCGI授权者角色的更多详细信息, 请访问https://fastcgi-archives.github.io/

Syntax

从列表中选择

添加默认的字符集

Description

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

Syntax

从单选框选择

启用重写

Description

指定是否启用LiteSpeed的URL重写. 可以在虚拟主机或context级别上自定义此选项, 并且沿目录树继承该选项,直到被其他选项覆。

Syntax

从单选框选择

重写继承

Description

指定是否从父级context继承重写规则。 如果启用重写但不继承,将启用本context的重写基准及重写规则。

Syntax

从单选框选择

重写基准

Description

指定重写规则的基准URL。

Syntax

URL

重写规则

Description

指定虚拟主机级别的重写规则。

请勿在此处添加任何目录级重写规则。 如果您在.htaccess有任何目录级的重写规则,则应该使用uri"/"创建一个静态context, 并在那里添加重写规则。

重写规则由一个RewriteRule组成,并可可以在多个RewriteCond之后。

  • 每行仅能有一条规则
  • RewriteCondRewriteRule 遵循Apache的rewrite语法。 只需从Apache配置文件中复制并粘贴重写规则即可。
  • LiteSpeed和Apache mod_rewrite之间有细微差别:
    • %\{LA-U:variable\} and %\{LA-F:variable\} 在Litespeed 重写中将被忽略
    • Litespeed中加入了两个新变量: %\{CURRENT_URI\}表示正在处理的URL %\{SCRIPT_NAME\}表示为相应的CGI环境变量。
    • Litespeed在遇到[L]后为了避免循环将停止处理此及此后的重写规则 而Apache mod_rewrite将仅停止处理该条重写规则。此行为类似于apachemod_rewrite中的[END]标志。

LiteSpeed的重写规则遵循Apache的重写规范。 有关重写规则的更多详细信息,请参阅 Apache's mod_rewrite document(英文文档) Apache's URL rewriting guide(英文文档) .

Syntax

string