本章介绍如何配置和管理虚拟服务器中的内容。
主文档目录(也称为文档根目录)是您存储要提供给远程客户机的所有文件的中心目录。
除主文档目录外,您还可以创建文档目录。通过执行此操作,您可以让其他用户管理文档组,而无需授予他们访问您主文档根目录的权限。
选择配置。
从配置列表中选择相应的配置。单击“配置”选项卡以获取可用的配置。
选择虚拟服务器。
选择需要为其添加新文档目录的虚拟服务器。单击“虚拟服务器”选项卡为选定的配置获取已配置虚拟服务器的列表。
单击“内容处理”>“文档目录”选项卡。
单击“新建”按钮。配置以下参数:
URL 前缀 — 需映射至目录的 URI 前缀。
目录路径 — 服务器的绝对路径和用于存储文档的有效目录。
使用 CLI
要通过 CLI 创建文档目录,请执行以下命令:
wadm> create-document-dir --user=admin --password-file=admin.pwd --host=serverhost --port=8989 --config=config1 --vs=config1_vs_1 --uri-prefix=/config1_uri --directory=../docs1 |
请参见 CLI 参考 create-document-dir(1)。
向客户机发送文档时,服务器中的某一部分将标识该文档的类型,从而使客户机能够正确地显示文档。但是,服务器有时无法确定文档的正确类型,因为服务器中没有定义该文档的扩展名。在这种情况下,将发送默认值。
默认值通常为 text/plain,但是您应当将其设置为服务器中存储的最常见的文件类型。下面列出了一些常用的 MIME 类型:
|
|
|
|
|
|
|
|
|
|
选择配置。
从配置列表中选择相应的配置。单击“配置”选项卡以获取可用的配置。
选择虚拟服务器。
单击“虚拟服务器”选项卡为选定的配置获取已配置虚拟服务器的列表。
单击“内容处理”>“常规”选项卡。
更改“其他”部分下的“默认 MIME 类型”值。
使用 CLI
要通过 CLI 创建 MIME 类型,请执行以下命令:
wadm> create-mime-type --user=admin --password-file=admin.pwd --host=serverhost --port=8989 --config=config1 --extensions=sxc application/sxc |
请参见 CLI 参考 create-mime-type(1)。
您无需为每台虚拟服务器创建单独的 MIME 类型文件。相反,可以根据需要创建任意数量的 MIME 类型文件,然后将它们与一台虚拟服务器相关联。默认情况下,服务器上包含一个 MIME 类型文件 (mime.types),不能将其删除。
在将 Web 浏览器指向 Web 站点上不包含 index.html 文件或欢迎文件的目录时,将无法在 Web 页面上列出该目录中的文件。您可以通过执行以下命令,打开虚拟服务器的目录列表:
enable-directory-listing --user=admin --host=serverhost --password-file=../admin.passwd --port=8989 --ssl=true --no-prompt --rcfile=null --index-style=simple --config=config1 --vs=vs |
-index-style 字段指示在服务器找不到指定的某个索引文件名称时生成的目录索引类型。如果服务器未处于防火墙保护下,请打开目录列表。“复杂”格式包含一个图形以表示文件类型、上次修改日期以及文件大小。
有时用户希望维护自己的 Web 页面。您可以配置公共信息目录,使服务器中的所有用户都可以创建主页和其他文档,而无需您的介入。
通过此系统,客户机可以使用特定的 URL 来访问您的服务器,服务器会将该 URL 识别为公共信息目录。例如,假设您选择了前缀 ~ 和目录 public_html。如果收到一个对 http://www.sun.com/~jdoe/aboutjane.html 的请求,服务器将认为 ~jdoe 指向一个用户的公共信息目录。服务器将在系统的用户数据库中查找 jdoe 并找到 Jane 的主目录。然后,服务器会查看 ~/jdoe/public_html/aboutjane.html。
要将服务器配置为使用公共目录,请执行以下步骤:
从虚拟服务器页面中,单击“内容处理”选项卡。
单击“文档目录”。
在“用户文档目录”下,选择用户 URL 前缀。
该前缀通常为 ~,因为波浪号字符是用于访问用户主目录的标准 UNIX/Linux 前缀。
在用户主目录中,选择服务器要在其中查找 HTML 文件的子目录。
通常,该目录为 public_html。
指定密码文件。
服务器需要知道可以在何处找到列出了系统用户的文件。服务器使用该文件来确定有效的用户名并找到其主目录。如果您将系统密码文件用于此用途,服务器将使用标准库调用来查找用户。您也可以创建另一个用户文件来查找用户。您可以指定该用户文件的绝对路径。
该文件中的每一行都应具有以下结构(以 * 表示 /etc/passwd 文件中不需要的元素):
username:*:*:groupid:*:homedir:*
选择是否在启动时装入密码数据库。
单击“保存”。
有关更多信息,请参见联机帮助中的“用户文档目录”页面。
为用户提供独立的目录的另一种方法是:创建一个映射到所有用户都可以修改的中心目录的 URL。
在某些情况下,系统管理员可能希望限制可以通过用户文档目录发布内容的用户帐户。要限制某个用户的发布操作,请在 /etc/passwd 文件中该用户主目录路径的末尾添加一个斜杠:
jdoe::1234:1234:John Doe:/home/jdoe:/bin/sh
成为:
jdoe::1234:1234:John Doe:/home/jdoe/:/bin/sh
完成此修改后,Web Server 将不会提供此用户目录中的页面。请求该 URI 的浏览器会收到“404 未找到文件”错误,并且 Web 服务器访问日志中将记录一个 404 错误。不会向错误日志中记录任何错误。
如果后来您又决定允许该用户发布内容,则可以从 /etc/passwd 条目中删除该结尾斜杠,然后重新启动 Web 服务器。
您也可以在启动时装入整个密码文件。如果选择此选项,服务器在启动时会将密码文件装入内存,以便用户可以更快地进行查找。但是,如果密码文件非常大,则此选项会占用过多内存。
URL 重定向使您可以将一个 HTTP URL 的文档请求重定向至另一个 HTTP URL。转发 URL 或重定向是服务器用来通知用户 URL 已经发生更改(例如,URL 由于文件已移动至其他目录或其他服务器而发生更改)的一种方法。您也可以使用重定向,将对某服务器上文档的请求无缝地发送至另一台服务器上的文档。
例如,如果将 http://www.sun.com/info/movies 转发到前缀 film.sun.com,则 URL http://www.sun.com/info/movies 将重定向至 http://film.sun.com/info/movies。
有时,您可能会希望将对一个子目录中所有文档的请求重定向至某个特定的 URL。例如,如果必须删除某个目录(因为该目录产生的通信量过大,或者由于某种原因不再处理该目录中的文档),则可以将对其中任何文档的请求定向到一个解释了该文档为何不再可用的页面。例如,可以将 /info/movies 的前缀重定向至 http://www.sun.com/explain.html。
您可以在虚拟服务器级别设置 URL 重定向。
要配置 URL 重定向,请执行以下操作:
单击配置选项卡,并从配置列表中选择相应的配置。
单击虚拟服务器子选项卡,并从虚拟服务器列表中选择虚拟服务器。
单击内容处理子选项卡和 URL 重定向子选项卡。
单击新建按钮,添加新的 URL 重定向规则。
为介绍的字段提供所需的值。单击确定按钮。如果需要,您可能还需要为配置单击部署按钮。
下表介绍了添加新的 URL 重定向规则时的必填参数。
表 9–1 URL 重定向参数
参数 |
描述 |
---|---|
源 |
URI 前缀-应从中重定向请求的 URI。发送到该 URI 模式的所有 HTTP 请求将重定向至目标 URL 所指定的 URL。 条件-您也可以在条件文本字段中使用正则表达式,而不提供 URI 前缀作为源。例如,如果浏览器为 Mozilla,并且需要将请求重定向至特定 URL,则可以在条件字段中键入 $browser = "Mozilla"。 另一个有效的示例为 $browser =~ "MSIE"。 Web Server 包含一组由服务器预定义的变量,并提供了定义自定义变量的功能。在以上示例中,browser 是一个预定义变量。有关可用的预定义变量列表,请参见《Sun Java System Web Server 7.0 Update 3 Administrator’s Configuration File Reference》中的“Predefined Variables”。 您可以在 server.xml 文件中使用变量元素定义自定义变量,然后从此条件文本中引用这些变量。 对于包含所有变量、表达式文字、表达式函数以及表达式运算符的 NameTrans 指令,管理控制台仅支持将 <If> 标记用于重定向 SAF。 有关变量、运算符以及表达式的更多信息,请参见管理员配置文件参考指南。 |
目标 URL | |
URL 类型 |
固定。已启用/已禁用。固定的 URL 为静态 URL,如指向 HTML 页面的链接。非固定 URL 是具有请求参数的动态 URL 或仅具有前缀的 URL。 |
使用 CLI
要通过 CLI 添加新的 URL 重定向规则,请执行以下命令:
wadm> create-url-redirect --user=admin --password-file=admin.pwd --host=serverhost --port=8989 --no-ssl --config=config1 --vs=config1_vs_1 --uri-prefix=/redirect --target-url=http://www.cnet.com |
请参见 CLI 参考 create-url-redirect(1)。
Web Server 经过改进,可支持在配置文件中使用正则表达式(也称为模式)和请求时间参数插值。此外,与支持匹配的通配符模式还扩展到 server.xml。URL 重定向是以 SAF 方式实现的。重定向 SAF 允许您重定向与某一前缀匹配的 URI。您可以使用 from 参数指定前缀,使用 url 或 url-prefix 参数指定要重定向到的 URL。在 Web Server Web Server 中,from 参数是可选的。如果省略 from,将重定向所有 URI。
在 obj.conf 文件中,新的 <If>、<Elseif> 和 <Else> 标记支持 SAF 参数。这些标记包含指令。使用这些标记,可以定义执行指令的条件。此外,也可以使用这些标记动态生成 SAF 参数。
Web Server 提供了 URL 重写功能,该功能是 Apache HTTP 服务器的 mod_rewrite 模块的超集。与 Apache 的 mod_rewrite 函数不同,<If> 标记提供以下功能:
可以处理 URI、路径、标头字段和响应主体。
可在请求处理的任何阶段使用。
可与任何 SAF(包括第三方插件)一起使用。
以下面的指令为例:
NameTrans fn="redirect" from="/site1" url="http://site1.mycompany.com" |
以上指令可以使用正则表达式重写,如下所示:
<If $uri =~ '^/site1'> NameTrans fn="redirect" url="http://site1.mycompany.com" </If> |
在以上代码片段中,请注意使用了正则表达式,而非 from 参数。如果需要将对 /site1/* 的所有请求重定向至 http://site1.mycompany.com/*/index.html,请注意以下方法:
<If $uri =~ '^/site1/(.*)'> NameTrans fn="redirect" url="http://site1.mycompany.com/$1/index.html" </If> |
其中,<If> 标记将所有匹配值 (.*) 分配给变量 $1。url 参数中的 $1 将被动态替换为原始请求中的值。这意味着,以上 obj.conf 代码片段将会导致对 /site1/download 的请求重定向至 http://site1.mycompany.com.com/download/index.html。
组合 <If> 和 redirect 可提供 mod_rewrite 的某些灵活性。但是,与 mod_rewrite 不同,<If> 可用于重定向和重写 URL 以外的操作。<If> 还可以与任何 SAF(包括第三方插件)一起使用。
以上方法可配置一个“302 已暂时移动”的重定向。在 Web Server 中,还可以添加 status="301" 参数以指示需要“301 已永久移动”的重定向。
NameTrans fn="redirect" from="/path" url="http://server.example.com" status="301" |
在管理基础结构(管理控制台和 CLI)中,对 <If>、<Else> 和 <ElseIf> 标记的支持非常有限。尽管 obj.conf 文件支持将这些标记用于任何指令、变量、SAF、表达式文字、表达式函数以及表达式运算符,但对于包含所有变量、表达式文字、表达式函数以及表达式运算符的 NameTrans 指令,管理基础结构仅支持将 <If> 标记用于重定向 SAF。
例如,您可以配置:
<If $browser =~ "MSIE"> NameTrans fn = "redirect" url="/msie.html" </If> |
但不能配置:
If $browser =~ "MSIE"> NameTrans fn = "redirect" url="/msie.html" </If> <Else> NameTrans fn="redirect" url="/other.html" </Else> |
不过,您可以通过 get-config-file 和 set-config-file CLI 命令使用包含 <If>、<ElseIf> 和 <Else> 的复杂表达式。
请参见 get-config-file(1) 和 set-config-file(1)。
公共网关接口 (Common Gateway Interface, CGI) 程序可以使用许多编程语言进行定义。在 UNIX/Linux 计算机上,您可能会发现 CGI 程序被编写成 Bourne shell 或 Perl 脚本。
在 UNIX/Linux 中,具有附加的 CGIStub 运行进程,服务器可使用这些进程来帮助 CGI 执行。只有在首次访问 CGI 期间才创建这些进程。进程数量的变化取决于服务器上的 CGI 负荷。请不要删除这些 CGIStub 进程。服务器停止时,它们将消失。
有关更多信息,请参见 Web Server 性能优化和调整指南中有关 MinCGIStub、MaxCGIStub 和 CGIStubIdleTimeout 的讨论。
在 Windows 计算机上,您可能会发现 CGI 程序是用 C++ 或批处理文件编写的。对于 Windows 而言,利用基于 Windows 的编程语言(如 Visual Basic)编写的 CGI 程序将使用不同的机制来操作服务器。这些程序被称为 Windows CGI 程序。
要运行命令行实用程序,需要手动设置 Path 变量以包括 server_root/bin/https/bin。
不管使用什么编程语言,所有 CGI 程序均以同样的方式接受和返回数据。有关编写 CGI 程序的更多信息,请参见以下信息源:
Web Server 开发者指南
公共网关接口,可从以下站点访问:
http://hoohoo.ncsa.uiuc.edu/cgi/overview.html
联机文档资料中关于 CGI 的文章,可从以下 Web 站点获得:
http://docs.sun.com
下图介绍了如何在 Web Server 7.0 中处理 CGI 请求:
指定只包含 CGI 程序的目录。不管文件扩展名为何,所有文件均作为程序运行。
指定所有 CGI 程序均属于某一文件类型。也就是说,这些程序全都使用文件扩展名 .cgi、.exe 或 .bat。这些程序可以位于文档根目录中的任何目录中,也可以位于文档根目录下的任何目录中。
如果需要,您可以同时启用两个选项。
两种实现方法各有优点。如果只允许一组特定的用户添加 CGI 程序,请将 CGI 程序保留在指定的目录中并限制对这些目录的访问。如果允许任何可以添加 HTML 文件的用户都能添加 CGI 程序,请使用替代文件类型。用户可以将 CGI 文件和 HTML 文件保留在相同的目录中。
如果选择目录选项,服务器会尝试将该目录中的所有文件都视为 CGI 程序。通过使用相同的标记,如果选择文件类型选项,则服务器会尝试将具有 .cgi、.exe 或 .bat 文件扩展名的所有文件都作为 CGI 程序来处理。如果某个文件具有其中一个扩展名但不是 CGI 程序,用户试图访问时就会出现错误。
默认情况下,CGI 程序的文件扩展名为 .cgi、.exe 和 .bat。但是,您可以通过修改 MIME 类型文件来更改哪些扩展名表示 CGI 程序。要执行此操作,请选择“服务器首选项”选项卡并单击“MIME 类型”链接。
Web Server 允许使用管理控制台 GUI 添加 CGI 文档目录。
要添加新的 CGI 文档目录,请执行以下操作:
单击配置选项卡,并从配置列表中选择相应的配置。
单击虚拟服务器子选项卡,并从虚拟服务器列表中选择虚拟服务器。
单击内容处理子选项卡和 CGI 子选项卡。
单击新建按钮以添加新的 CGI 文档目录。
为介绍的字段提供所需的值。单击确定按钮。如果需要,您可能还需要为配置单击部署按钮。
下表介绍了添加新的 CGI 文档目录时的必填字段。
表 9–2 CGI 参数
参数 |
描述 |
---|---|
前缀 |
键入要用于该目录的 URL 前缀。也就是说,您键入的文本将在 URL 中作为 CGI 程序的目录显示出来。 例如,如果您键入 cgi-bin 作为 URL 前缀,则这些 CGI 程序的所有 URL 均将具有以下结构: http://yourserver.domain.com /cgi-bin/program-name |
CGI 目录 |
在“CGI 目录”文本字段中,键入目录的位置作为绝对路径。请注意,该目录不必位于文档根目录下。因此,您需要指定 URL 前缀。 注 – 指定的 URL 前缀可与实际的 CGI 目录有所不同。 |
用户 |
指定要以其执行 CGI 程序的用户名称。 |
组 |
指定要以其执行 CGI 程序的组名称。 |
Chroot |
指定执行开始之前要 chroot 的目录。 |
Nice |
指定 nice 值,即确定 CGI 程序相对于服务器的优先级的增量。 通常,服务器在 nice 值为 0 的情况下运行,nice 增量介于 0(CGI 程序与服务器在同一优先级下运行)至 19(CGI 程序的运行优先级远远低于服务器)之间。虽然可以通过将 nice 增量指定为 -1 来增加 CGI 程序的优先级使之高于服务器的优先级,但不建议使用这种方法。 |
要删除现有 CGI 目录,请选择 CGI 目录并单击“删除”按钮。要更改现有目录的 URL 前缀或 CGI 目录,请单击目录链接。
将 CGI 程序复制到指定的目录中。请记住,这些目录中的所有文件均将作为 CGI 文件来处理,因此不要将 HTML 文件放入 CGI 目录中。
要将 CGI 指定为文件类型,请执行以下操作:
单击配置选项卡,并从配置列表中选择相应的配置。
单击虚拟服务器子选项卡,并从虚拟服务器列表中选择虚拟服务器。
单击内容处理子选项卡和 CGI 子选项卡。
单击 CGI 文件类型单选框以启用。
CGI 文件必须具有文件扩展名 .bat、.exe 或 .cgi。如果服务器将具有这些扩展名的非 CGI 文件作为 CGI 文件进行处理,将导致发生错误。
使用 CLI
您可以创建 CGI 目录,其中包含将由服务器进行处理的 CGI 程序。CGI 程序为特定的文件类型,例如 .cgi、.exe 或 .bat。这些程序可以位于文档根目录中的任何目录中,也可以位于文档根目录下的任何目录中。
要通过 CLI 添加 CGI 目录,请执行以下命令:
wadm> create-cgi-dir --user=admin --password-file=admin.pwd --host=serverhost --port=8989 --config=config1 --vs=config1_vs_1 --uri-prefix=/config1_urlprefix --directory=/cgi-dir |
请参见 CLI 参考 create-cgi-dir(1)。
如果使用 .exe 作为 CGI 文件类型,则无法下载 .exe 可执行文件。
解决此问题的方案之一是压缩希望用户下载的可执行文件,从而使扩展名不是 .exe。该解决方案还有助于缩短下载时间。
另一个可能的解决方案是从 magnus-internal/cgi 类型中删除作为文件扩展名的 .exe,而将其添加到 application/octet-stream 类型(用于标准可下载文件的 MIME 类型)中。但是,该方法的缺点是进行此更改后无法将 .exe 文件用作 CGI 程序。
另一个解决方案是编辑服务器的 obj.conf 文件,设置一个下载目录,自动下载该目录中的任何文件。服务器的其他部分不会受到影响。
Shell CGI 是一种服务器配置,通过该配置,您可以使用在 Windows 中设置的文件类型关联来运行 CGI 应用程序。
例如,如果服务器收到对一个名为 hello.pl 的 shell CGI 文件的请求,服务器将通过与 .pl 扩展名关联的程序,使用 Windows 文件类型关联来运行该文件。如果 .pl 扩展名与程序 C:\\bin\\perl.exe 相关联,服务器将尝试按以下方式执行 hello.pl 文件:
c:\\bin\\perl.exe hello.pl
配置 shell CGI 的最简便方式是在服务器的文档根目录中创建一个仅包含 shell CGI 文件的目录。但是,也可以通过从 Web Server 中编辑 MIME 类型来配置服务器,以使特定的文件扩展名与 shell CGI 相关联。
有关设置 Windows 文件扩展名的信息,请参见相关的 Windows 文档。
您可以指定错误响应,当客户机遇到来自虚拟服务器的错误时,会将详细消息发送至客户机。可以指定要发送的文件或要运行的 CGI 程序。
例如,您可以更改服务器收到特定目录的错误时的响应方式。如果客户机尝试连接受访问控制保护的服务器内容,您可以返回一个错误文件,其中包括如何获得帐户的信息。
在启用自定义错误响应之前,必须创建为响应错误而发送的 HTML 文件或运行的 CGI 程序。
要添加自定义错误页面,请执行以下步骤:
单击配置选项卡,并从配置列表中选择相应的配置。
单击虚拟服务器子选项卡,并从虚拟服务器列表中选择虚拟服务器。
单击内容处理子选项卡和错误页面子选项卡。
单击新建按钮以添加自定义错误页面。
对于每个要更改的错误代码,请指定包含该错误响应的文件或 CGI 的绝对路径。
单击确定以返回错误页面列表。
使用 CLI
要通过 CLI 自定义错误页面,请执行以下命令:
wadm> set-error-page --user=admin --password-file=admin.pwd --host=serverhost --port=8989 --config=config1 --vs=config1_vs_1 --code=500 --error-page=/server-error-uri-new |
请参见 CLI 参考 set-error-page(1)。
文档的字符集部分取决于编写文档所用的语言。通过选择资源并输入该资源的字符集,可以覆盖客户机的文档、一组文档或目录的默认字符集设置。
大多数浏览器都可在 HTTP 中使用 MIME 类型的 charset 参数来更改其字符集。如果服务器的响应中包含此参数,浏览器将相应地更改其字符集。请参见以下示例:
Content-Type: text/html;charset=iso-8859-1
Content-Type: text/html;charset=iso-2022-jp
RFC 17.000 中指定了以下某些常用浏览器识别的 charset 名称(以 x- 开头的名称除外):
要更改字符集,请执行以下步骤:
您可以在服务器的特定部分中为所有文档指定一个文档页脚,其中可包括上次修改时间。除 CGI 脚本的输出信息或已解析的 HTML (.shtml) 文件外的所有文件都可以使用此页脚。如果需要在 CGI 脚本输出或已解析的 HTML 文件中显示文档页脚,请将页脚文本输入到单独的文件中,并添加一行代码或其他服务器端引用以将此文件附加到页面输出。
要设置文档页脚,请执行以下步骤:
从虚拟服务器页面中,单击“内容处理”选项卡。
单击“常规”子选项卡,然后转至“文档页脚”部分。
指定希望包含页脚的文件类型。
指定日期格式。
键入希望显示在页脚中的文本。
文档页脚的字符数最多为 7.065 个。如果要包含文档的上次修改日期,请键入字符串 :LASTMOD:。
单击“保存”。
使用 CLI
要通过 CLI 设置文档页脚,请执行以下命令:
wadm> enable-document-footer --user=admin --password-file=admin.pwd --host=serverhost --port=8989 --config=config1 --vs=config1_vs_1 --mime-type=text/html --date-format=%B --footer="config1 footer" |
请参见 CLI 参考 enable-document-footer(1)。
您可以在服务器中限制文件系统链接的使用。文件系统链接是对存储在其他目录和文件系统中的文件的引用。使用引用,用户可以像访问当前目录中的文件一样访问远程文件。文件系统链接有两种类型:
有关硬链接和符号链接的更多信息,请参见 UNIX/Linux 系统文档。
使用文件系统链接可以方便地创建指向位于主文档目录之外的文档的指针,并且任何人都可以创建这些链接。因此,您可能会担心有人会创建指向敏感文件(例如,机密文档或系统密码文件)的指针。
要限制符号链接,请执行以下步骤:
从虚拟服务器页面中,单击“内容处理”选项卡。
单击“常规”子选项卡。
转至“其他”部分下的“符号链接”部分。
选择是否启用软链接和/或硬链接以及起始目录。
单击“保存”。
使用 CLI
要通过 CLI 限制符号链接,请执行以下命令:
wadm> set-symlinks-prop --user=admin --password-file=admin.pwd --host=serverhost --port=8989 --config=config1 --vs=config1_vs_1 allow-soft-links=true allow-hard-links=false directory=/abc |
请参见 CLI 参考 set-symlinks-prop(1)。
通常情况下,HTML 发送到客户机时就像它存储在磁盘上一样,无需服务器进行任何干预。但是,服务器可以在发送文档之前搜索 HTML 文件以查找特定的命令(也就是说,服务器可以解析 HTML)。如果希望服务器解析这些文件并在文档中插入请求的特定信息或文件,必须首先启用 HTML 解析。
从虚拟服务器页面中,单击“内容处理”选项卡。
单击“常规”子选项卡。
在“已解析的 HTML/SSI 设置”中,选择是否激活服务器解析的 HTML。
您可以针对 HTML 文件而非 exec 标记进行激活,也可以同时针对 HTML 文件和 exec 标记进行激活,后一种方式允许 HTML 文件执行服务器中的其他程序。
选择要解析的文件。
您可以选择是只解析扩展名为 .shtml 的文件,还是解析所有 HTML 文件(解析所有 HTML 文件会降低性能)。如果使用的是 UNIX/Linux,还可以选择解析开启了执行权限的 UNIX/Linux 文件,但是这样做不可靠。
单击“保存”。
有关使用服务器解析的 HTML 的更多信息,请参见 Web Server 开发者指南。
使用 CLI
要通过 CLI 设置服务器解析的 HTML,请执行以下命令:
wadm> enable-parsed-html --user=admin --password-file=admin.pwd --host=serverhost --port=8989 --config=config1 --vs=config1_vs1 |
请参见 CLI 参考 enable-parsed-html(1)。
高速缓存控制指令是 Web Server 用来控制代理服务器高速缓存何种信息的一种方式。使用高速缓存控制指令,可以覆盖代理的默认高速缓存,以防止以后对敏感信息进行高速缓存,或对其进行检索。代理服务器必须遵循 HTTP 1.1 规范,才能使这些指令正常运行。
有关 HTTP 1.1 的更多信息,请参见超文本传输协议 -- HTTP/1.1 规范 (RFC 2068),该规范位于以下位置:
http://www.ietf.org/
从虚拟服务器页面中,单击“内容处理”选项卡。
单击“常规”子选项卡并转到“其他”部分中的“高速缓存控制指令”字段。
填写各个字段。响应指令的有效值如下:
单击“保存”。
使用 CLI
要通过 CLI 设置高速缓存控制指令,请执行以下命令。
wadm> set-cache-control-directives --user=admin --password-file=admin.pwd --host=serverhost --port=8989 --config=config1 --vs=config1_vs_1 public=true private=true must-revalidate=true |
请参见 CLI 参考 set-cache-control-directives(1)。
Web Server 支持 HTTP 内容压缩。内容压缩可以提高向客户机提供内容的速度,同时可以提供更多内容,而无需增加硬件的消耗。内容压缩减少了内容的下载时间,对使用拨号连接和高流量连接的用户尤其有用。
通过内容压缩,Web 服务器可以发送压缩的数据并指示浏览器对这些数据进行动态解压缩,从而减少数据的发送量并提高页面的显示速度。
可以将服务器配置为在指定的目录中生成并存储文件的预压缩版本。进行这样的配置后,只有收到 Accept-encoding: gzip 标头,对配置为提供预压缩内容的目录中文件的所有请求才会被重定向为对该目录中等效压缩文件的请求(如果存在这样的文件)。例如,如果 Web Server 收到对 myfile.html 的请求,并且同时存在 myfile.html 和 myfile.html.gz,则带有相应 Accept-encoding 标头的请求将收到压缩文件。
要将服务器配置为提供预压缩内容,请执行以下步骤:
您也可以将服务器配置为动态压缩传输数据。动态生成的 HTML 页面仅在用户提出请求时才会存在。这对基于电子商务的 Web 应用程序和数据库驱动的站点尤其有用。
要将服务器配置为根据需要压缩内容,请执行以下步骤:
从虚拟服务器页面中,单击“内容处理”选项卡。
单击“常规”子选项卡。转至“压缩”部分中的“根据需要压缩内容”部分。
请从以下选项中进行选择:
单击“保存”。
使用 CLI
要通过 CLI 启用根据需要压缩,请执行以下命令。
wadm> enable-on-demand-compression --user=admin --password-file=admin.pwd --host=serverhost --port=8989 --config=config1 --vs=config1_vs_1 --insertvaryheader=true --fragment-size=100 --compression-level=5 |
请参见 CLI 参考 enable-on-demand-compression(1)。
反向代理是指对客户机而言就像一个 Web 服务器(原始服务器),而实际上却将其接收到的请求转发给一个或多个原始服务器的代理。因为反向代理自身呈现为原始服务器,所以客户机不需要进行任何配置即可使用反向代理。通过对给定反向代理进行配置,使其向多个配置相似的原始服务器转发请求,反向代理可以起到应用层软件负载平衡器的作用。
在典型的部署中,会在浏览器与原始服务器之间部署一个或多个反向代理。
单击“配置”选项卡并选择相应的配置。
单击“虚拟服务器”选项卡并选择虚拟服务器。
单击“内容处理”>“反向代理”选项卡。
单击“新建代理 URI”按钮。
指定以下参数的值:
URI-反向代理 URI。
服务器 URL-逗号分隔的远程服务器 URL。如果提供了多个值,则服务器将在指定的服务器之间分发负载。
单击“配置”选项卡并选择相应的配置。
单击“虚拟服务器”选项卡并选择虚拟服务器。
单击“内容处理”>“反向代理”选项卡。
单击 "URI"
您可以编辑以下参数:
URI-反向代理 URI。
服务器 URL-逗号分隔的远程服务器 URL。如果提供了多个值,则服务器将在指定的服务器之间分发负载。
粘性 Cookie-Cookie 名,在响应中出现 Cookie 后,将导致后续请求始终发送到相应的原始服务器。
粘性 URI 参数-用于检查路由信息的 URI 参数的名称。如果 URI 参数出现在请求 URI 中,且其值中包含冒号 ":" 并后接路由 ID,则请求将始终发送到由该路由 ID 标识的原始服务器中。
路由标头-用于将路由 ID 传送到原始服务器的 HTTP 请求标头的名称。
路由 Cookie-服务器在响应中遇到“粘性 Cookie”时所生成的 Cookie 名。“路由 Cookie”存储使服务器可以将后续请求返回到同一原始服务器的路由 ID。
使用 CLI
1. 调用 create-reverse-proxy
命令。
wadm> create-reverse-proxy --user=admin --password-file=admin.pwd --host=serverhost --port=8989 --config=test --vs=test --uri-prefix=// --server=http://rick.india.sun.com:8080 |
请参见 CLI 参考 create-reverse-proxy(1)。
2.
修改 obj.conf
文件。
NameTrans fn="map" from="/" name="reverse-proxy-/" to="http:/" ... <Object name="reverse-proxy-/"> Route fn="set-origin-server" server="http://rick.india.sun.com:8080" </Object> <Object ppath="http:*"> Service fn="proxy-retrieve" method="*" </Object> |
要重定向到安全站点,请遵循相同的步骤,并为 --server
选项提供 https
地址。
隐私首选项平台 (Platform for Privacy Preference, P3P) 使 Web 站点能够以一种标准的格式来表达其隐私惯例,用户代理可以轻松地自动检索并解释这种格式。P3P 用户代理使用户可以收到站点隐私惯例的通知(以机器可读格式和人可读格式)。有关更多信息,请参见 http://www.w3.org/P3P/。
选择配置。
从配置列表中选择相应的配置。单击“配置”选项卡以获取可用配置的列表。
选择虚拟服务器。
从虚拟服务器列表中选择虚拟服务器。单击“虚拟服务器”选项卡为选定的配置获取可用的虚拟服务器。
单击“常规”选项卡。配置 "P3P" 部分下面的以下设置。
已启用-为选定的虚拟服务器启用 P3P。
简洁策略-简洁策略可向用户代理(浏览器或其他 P3P 应用程序)提供提示,以便用户代理可以快速同步地做出有关应用策略的决策。简洁策略是 P3P 规范的一种性能优化,它对于用户代理或服务器来说是可选的。
使用 CLI
要对虚拟服务器启用 P3P,请执行以下命令:
wadm> enable-p3p --user=admin --password-file=admin.pwd --host=serverhost --port=8989 --config=config1 --vs=config1_vs_1 --policy-url=http://xyz.com/policyurl |
请参见 CLI 参考 enable-p3p(1)。