![]() |
Sun ONE Application Server 7, Update 1 管理员指南 |
管理虚拟服务器内容本 module 介绍了如何配置和管理虚拟服务器提供的文件。
本 module 包括以下主题:
- 更改文档根目录
- 设置其它文档目录
- 启用远程文件操作
- 使用 htaccess
- 限制符号链接 (UNIX)
- 自定义用户公有信息目录 (UNIX)
- 设置文档首选项
- 自定义错误响应
- 更改国际字符集
- 设置文档页脚
- 配置 URL 转发
- 设置服务器分析的 HTML
- 设置高速缓存控制指令
- 使用更强大的加密算法
更改文档根目录
文档根目录是您在其中存储了希望供远程客户机使用的所有文件的中心目录。
您在添加虚拟服务器时,使用绝对路径指定文档根目录。有关文档根目录的详细信息,请参见“文档根目录”。
使用管理界面更改该文档根目录,以使其使用不同的路径的步骤:
- 在左侧的窗格(用于该应用程序服务器实例)中,打开“HTTP Server”。
- 打开“Virtual Servers”。
- 单击要编辑的虚拟服务器的名称。
- 单击“General”标签。
- 在“Document Root”字段中,输入目录的绝对路径。
您需要手动创建该目录。
- 单击“OK”。
有关详细信息,请参见联机帮助。
注意 通常,每个虚拟服务器有其自己的文档根目录。
设置其它文档目录
多数时候,虚拟实例或服务器实例的文档位于文档根目录中。但是,有时候您可能希望从文档根目录之外的目录提供文档。这可以通过设置其它文档目录来完成。通过从文档根目录之外的目录提供文档,您无需赋予其他用户访问您的主文档根目录的权限,他们也可以管理文档组。
使用管理界面添加其它文档目录的步骤:
- 在左侧的窗格(用于该应用程序服务器实例)中,打开“HTTP Server”。
- 打开“Virtual Servers”。
- 单击要编辑的虚拟服务器的名称。
- 单击“Doc Directories”标签。
- 单击“Additional Doc Directories”。
- 选择要映射的 URL 前缀。
客户机在需要文档时将此 URL 发送到服务器。
- 指定将 URL 映射到的目录。
- 单击“OK”。
有关详细信息,请参见联机帮助。
您应该限制对其它文档目录的访问,这样用户就无法对其进行写入操作。
启用远程文件操作
在启用远程文件操作后,客户机可以在您的服务器上进行以下操作:上载文件、删除文件、创建目录、删除目录、列出目录内容以及重命名文件。虚拟服务器的配置文件 obj.conf 中包括的命令将在您启用远程文件操作时被激活。这些命令激活后,远程浏览器则可以更改服务器上的文档。您应该使用访问控制来限制对这些资源的写入操作,以防止未经授权的更改操作。
注意,启用远程文件操作不会影响使用内容管理系统(例如 Microsoft Frontpage)。
UNIX:您必须拥有访问文件的正确权限,否则该功能将无法使用;这就是说,文档根目录的用户必须与服务器的用户相同。
使用管理界面来启用远程文件操作的步骤:
- 在左侧的窗格(用于该应用程序服务器实例)中,打开“HTTP Server”。
- 打开“Virtual Servers”。
- 单击要编辑的虚拟服务器的名称。
- 单击“Doc Directories”标签。
- 单击“Remote File Manipulation”。
- 从资源检出器中选择“Entire Server”将所做的更改应用到整个虚拟服务器,或者浏览到虚拟服务器中的特定目录。
- 选择激活远程文件操作。
- 单击“OK”。
有关详细信息,请参见联机帮助。
使用 htaccess
htaccess 文件是动态配置文件,它用于存储配置选项的子集。您可以将 htaccess 文件和 Sun ONE Application Server 标准访问控制结合使用(标准访问控制总是前于任何 htaccess 访问控制进行应用)。
有关 htaccess 的详细信息,请参见《Sun ONE Application Server Administrator's Guide to Security》。
限制符号链接 (UNIX)
您可以在服务器上限制文件系统链接的使用。文件系统链接是对存储在其它目录和文件系统中的文件的参考。使用参考,用户可以象访问当前目录中的文件一样访问远程文件。文件系统链接有两种类型:
- 硬链接 硬链接实际上是指向同一数据块集合的两个文件名;原始文件和链接是相同的。因此,硬链接不能位于不同的文件系统中。
- 符号(软)链接 符号链接包括两个文件,一个是包括数据的原始文件,另一个是指向原始文件的链接文件。符号链接比硬链接更灵活。符号链接可以用于不同的文件系统,还可以链接到目录
有关硬链接和符号链接的详细信息,请参见 UNIX 系统文档。
文件系统链接是用于创建指向位于主文档目录之外文档的指针的简便方法,并且任何人都可以创建文件系统链接。因此,您可能会担心有人会创建指向敏感文件(例如,机密文件或系统密码文件)的指针。
使用管理界面来限制符号链接的步骤:
- 在左侧的窗格(用于该应用程序服务器实例)中,打开“HTTP Server”。
- 打开“Virtual Servers”。
- 单击要编辑的虚拟服务器的名称。
- 单击“Doc Directories”标签。
- 单击“Symbolic Links”。
- 从资源检出器中选择“Entire Server”将所做的更改应用到整个虚拟服务器,或者浏览到虚拟服务器中的特定目录。
- 选择是否启用软链接和/或硬链接以及起始的目录。
- 单击“OK”。
有关详细信息,请参见联机帮助。
自定义用户公有信息目录 (UNIX)
有时候用户希望维护他们自己的 Web 页面。您可以配置公有信息目录,使服务器上的所有用户可以创建主页和其它文档而不需要您介入操作。
注意 虽然“User Document Directories”页面显示在 Windows 系统的管理界面中,但是该功能并不可用。
通过使用该系统,客户机可以使用服务器将其识别为公有信息目录的 URL 来访问服务器。例如,假设您选择了前缀 ~ 和目录 public_html。如果收到一个对 http://www.sun.com/~jdoe/aboutjane.html 的请求,服务器将认为 ~jdoe 指向一个用户的公共信息目录。服务器在该系统的用户数据库中查找 jdoe 并找到 Jane 的主目录。服务器随后查找 ~/jdoe/public_html/aboutjane.html。
本节包括以下主题:
配置公有信息目录
使用管理界面配置虚拟服务器来使用公有目录的步骤:
- 在左侧的窗格(用于该应用程序服务器实例)中,打开“HTTP Server”。
- 打开“Virtual Servers”。
- 单击要编辑的虚拟服务器的名称。
- 单击“Doc Handling”标签。
- 编辑“User Doc Directories”。
- 选择用户 URL 前缀。
该前缀通常为 ~,因为该字符是用于访问用户主目录的标准的 UNIX 前缀。
- 选择服务器要在用户主目录中查找 HTML 文件的子目录。
通常,目录为 public_html。
- 指定密码文件。
服务器需要获知可以在何处查找列出您的系统用户的文件。服务器使用该文件来确定有效的用户名并找到其主目录。如果您将系统密码文件用于此用途,则服务器使用标准库调用来查找用户。或者,您也可以创建另一个用户文件来查找用户。您可以指定该用户文件的绝对路径。
该文件中的每一行应具有以下结构(/etc/passwd 文件中不需要的元素前面带有 * 符号):
username:*:*:groupid:*:homedir:*
- 选择是否在启动时装入密码数据库。
有关详细信息,请参见“启动时装入整个密码文件”。
- 单击“OK”。
有关详细信息,请参见联机帮助。
为用户提供独立的目录的另一种方法是:创建一个映射到所有用户都可以修改的中心目录的 URL。
限制内容发布
某些时候,系统管理员可能希望限制某些用户帐户,使其无法通过用户文档目录来发布内容。要限制一个用户使其无法进行发布,在 /etc/passwd 文件中该用户主目录路径的末尾添加一个斜杠:
jdoe::1234:1234:John Doe:/home/jdoe:/bin/sh
成为:
jdoe::1234:1234:John Doe:/home/jdoe/:/bin/sh
进行修改后,Sun ONE Application Server 将不支持来自该用户的目录的页面。请求该 URI 的浏览器收到“404 File Not Found”错误,并且访问日志将记录一个 404 错误。
如果后来您又决定允许此用户发布内容,则从该 /etc/passwd 条目中删除添加的斜杠符号,然后重新启动应用程序服务器实例。
启动时装入整个密码文件
您还可以选择在启动时装入整个密码文件。如果选择此选项,则服务器在启动时将密码文件装入内存,以便用户可以更快地进行查找。但是,如果密码文件非常大,则这个选项会占用过多的内存。
设置文档首选项
本节包括以下主题:
使用管理界面设置文档首选项的步骤:
- 在左侧的窗格(用于该应用程序服务器实例)中,打开“HTTP Server”。
- 打开“Virtual Servers”。
- 单击要编辑的虚拟服务器的名称。
- 单击“Doc Handling”标签。
- 单击“Doc Preferences”。
- 选择相应的字段值,如下一部分中所述。
- 单击“OK”。
下一部分中详细地讨论了您可以设置的首选项。有关详细信息,请参见联机帮助。
输入索引文件名
如果某个文档名称没有在 URL 中指定,服务器将自动显示索引文件。默认的索引文件是 index.html 和 home.html。如果指定的索引文件多于一个,服务器将按照名称在此字段中显示的顺序进行查找,直到找到一个 文件。例如,如果索引文件为 index.html 和 home.html,则服务器将查找 index.html,如果未找到该文件则查找 home.html。
选择目录索引
一个文档目录可能有几个子目录。例如,可能有一个目录称作 products,另一个子目录称作 people 等等。通常,使客户机可以访问这些目录的概述(或索引)会对他们很有帮助。
服务器通过搜索一个名为 index.html 或 home.html 的索引文件(您将该文件当作目录内容的概述进行创建和维护)来为目录创建索引。有关详细信息,请参见“输入索引文件名”。您可以通过将任何文件命名为默认名称中的一个,来将其指定为目录的索引文件,这意味着您也可以使用 CGI 程序作为索引。
如果索引文件未找到,服务器将在文档根目录中生成一个列出了所有文件的索引文件。
警告 如果服务器在防火墙外,请关闭目录索引,以确保目录结构和文件名称不可访问。
指定服务器主页
当终端用户第一次访问服务器时,他们看到的第一个文件通常被称作主页。通常,这个文件包括了服务器的常规信息和指向其它文档的链接。
默认情况下,服务器查找“Document Preferences”页面的“Index Filename”字段中指定的索引文件,并将其用作主页。您也可以指定一个文件作为主页。
指定默认的 MIME 类型
文档发送到客户机时,服务器中的某一部分识别文档的类型,因而客户机可以正确地提供文档。但是,服务器有时无法确定文档的正确类型,因为服务器中没有定义该文档的扩展名。在这种情况下,则发送默认值。
默认值通常为 text/plain,但是您应该将其设置为服务器上存储的最常见的文件类型。以下列出了一些常用的 MIME 类型:
自定义错误响应
您可以指定自定义错误响应,它用于在虚拟服务器出错时向客户机发送详细消息。您可以指定要发送的文件,或指定要运行的 CGI 程序。
例如,您可以更改服务器收到特定目录的错误时的响应方式。如果客户机尝试连接受访问控制保护的服务器内容,您可以返回一个其中包括如何获得说明信息的错误文件。
在启用自定义错误响应之前,必须创建用于响应错误而发送的 HTML 文件,或者创建用于响应错误而运行的 CGI 程序。创建完成之后,启用管理界面中的响应。
使用管理界面来启用自定义错误响应的步骤:
- 在左侧的窗格(用于该应用程序服务器实例)中,打开“HTTP Server”。
- 打开“Virtual Servers”。
- 单击要编辑的虚拟服务器的名称。
- 单击“Doc Handling”标签。
- 单击“Error Responses”。
- 从资源检出器中选择“Entire Server”将所做的更改应用到整个虚拟服务器,或者浏览到虚拟服务器中的特定目录。
- 对于每个要更改的错误代码,指定包含该错误响应的文件或 CGI 的绝对路径。
- 单击“OK”。
有关详细信息,请参见联机帮助。
更改国际字符集
文档的字符集一部分取决于编写文档所用的语言。您可以通过选择资源并输入该资源的字符集,来覆盖用于文档、文档集或目录的客户机的默认字符集设置。
浏览器可以在 HTTP 中使用 MIME 类型的 charset 参数来更改其字符集。如果服务器在其响应中包括此参数,浏览器将相应地更改其字符集。请参见以下示例:
- Content-Type:text/html;charset=iso-8859-1
- Content-Type:text/html;charset=iso-2022-jp
RFC 1700 中指定了以下 charset 名称(以 x- 开头的名称除外):
另外,以下是得到认可的 us-ascii 的别名:
以下是得到认可的 iso_8859-1 的别名:
使用管理界面更改字符集的步骤:
- 在左侧的窗格(用于该应用程序服务器实例)中,打开“HTTP Server”。
- 打开“Virtual Servers”。
- 单击要编辑的虚拟服务器的名称。
- 单击“Doc Handling”标签。
- 单击“International Characters”。
- 从资源检出器中选择“Entire Server”将所做的更改应用到整个虚拟服务器,或者浏览到虚拟服务器中的特定目录。
- 为整个服务器或部分服务器设置字符集。
如果将该字段保留为空,字符集将设置为 NONE。
- 单击“OK”。
有关详细信息,请参见联机帮助。
设置文档页脚
您可以为服务器的某一部分中的所有文档指定文档页脚,它包括最近修改的时间。除了 CGI 脚本的输出信息或经分析的 HTML (.shtml) 文件之外的所有文件都可包含页脚。如果需要将文档页脚显示在 CGI 脚本的输出信息或经分析的 HTML 文件中,则将页脚文本输入到单独的文件,并添加一个代码行或新的服务器端语句,以便将此文件附加到页面输出信息中。
使用管理界面设置文档页脚的步骤:
- 在左侧的窗格(用于该应用程序服务器实例)中,打开“HTTP Server”。
- 打开“Virtual Servers”。
- 单击要编辑的虚拟服务器的名称。
- 单击“Doc Handling”标签。
- 单击“Doc Footer”。
- 从资源检出器中选择“Entire Server”将所做的更改应用到整个虚拟服务器,或者浏览到虚拟服务器中的特定目录。
如果选择了一个目录,则文档页脚仅在服务器收到该目录或该目录中任何文件的 URL 时才进行应用。
- 指定希望包含页脚的文件的类型。
- 指定日期格式。
- 输入希望显示在页脚中的文本。
文档页脚字符数目最多为 765。如果希望页脚中包含最近一次修改文档的日期,请键入字符串 :LASTMOD:。
有关详细信息,请参见联机帮助。
配置 URL 转发
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 转发的步骤:
- 在左侧的窗格(用于该应用程序服务器实例)中,打开“HTTP Server”。
- 打开“Virtual Servers”。
- 单击要编辑的虚拟服务器的名称。
- 单击“HTTP/HTML”标签。
- 单击“URL Forwarding”。
- 键入要重定向的 URL 前缀,以及是否要将其重定向到另一个前缀或者静态 URL。
- 单击“OK”。
有关详细信息,请参见联机帮助。
设置服务器分析的 HTML
通常情况下,HTML 发送到客户机时就像它存储在磁盘上一样,无需服务器进行任何干预。但是,服务器可以在发送文档之前搜索 HTML 文件以查找特定的命令(也就是说,服务器可以分析 HTML)。如果希望服务器分析这些文件并在文档中插入请求特定的信息或文件,则必须首先启用 HTML 分析。
使用管理界面来设置 HTML 分析的步骤:
- 在左侧的窗格(用于该应用程序服务器实例)中,打开“HTTP Server”。
- 打开“Virtual Servers”。
- 单击要编辑的虚拟服务器的名称。
- 单击“HTTP/HTML”标签。
- 选择“Parse HTML”。
- 从资源检出器中选择“Entire Server”将所做的更改应用到整个虚拟服务器,或者浏览到虚拟服务器中的特定目录。
如果您选择一个目录,则服务器仅在收到对该目录和该目录中任何文件的 URL 时才分析 HTML。
- 选择是否激活服务器分析的 HTML。
您可以为 HTML 文件而不是 exec 标记进行激活(也可以为 HTML 文件和 exec 标记进行激活),这样 HTML 文件可以在服务器上执行其它程序。
- 选择要分析的文件。
您可以选择是否只分析扩展名为 .shtml 的文件还是分析所有 HTML 文件(分析所有 HTML 文件将会降低性能)。如果使用的是 UNIX,则也可以选择在执行权限打开的情况下分析 UNIX 文件,但是这样可能存在安全隐患。
- 单击“OK”。
有关设置服务器以接受分析的 HTML 的详细信息,请参见联机帮助。
有关使用服务器分析的 HTML 的详细信息,请参见《Sun ONE Application Server Developer's Guide to Web Applications》。
设置高速缓存控制指令
高速缓存控制指令是 Sun ONE Application Server 用于控制代理服务器对哪些信息进行高速缓存的一种方法。使用高速缓存控制指令,可以覆盖代理的默认高速缓存,这样可以使敏感信息以后不会被高速缓存,同时可能也不会被检索到。要使这些指令正常工作,代理服务器必须遵从 HTTP 1.1。
有关 HTTP 1.1 的详细信息,请参见超文本传输协议 -- HTTP/1.1 规范 (RFC 2068),位于以下位置:
使用管理界面来设置高速缓存控制指令的步骤:
- 在左侧的窗格(用于该应用程序服务器实例)中,打开“HTTP Server”。
- 打开“Virtual Servers”。
- 单击要编辑的虚拟服务器的名称。
- 单击“HTTP/HTML”标签。
- 单击“Cache Control Directives”。
- 在字段中进行输入。以下列出了响应目录的有效值:
Public。该响应可以被所有高速缓存进行缓存。这是默认选项。
Private。该响应只能被专用(非共享)的高速缓存进行缓存。
No Store。高速缓存不应将请求或响应存储到非易失性存储器中的任何地方。
Must Revalidate。高速缓存项必须在初始服务器中重新验证。
Maximum Age (sec)。客户机不接受寿命长于该设置的响应。
- 单击“OK”。
有关详细信息,请参见联机帮助。
使用更强大的加密算法
有关设置更强大的加密算法的详细信息,请参见《Sun ONE Application Server Administrator's Guide to Security》。