85 FreeBSD连载:配置Apache服务器(2)( 四 )


UseCanonicalName On
打开这个UseCanonicalName是Web服务器的标准做法,因为客户发送的大部分请求都是对本服务器的引用,这样服务器就能使用ServerName和Port选项的设置内容构建完整的URL,并回应客户,使浏览器能得到规范的URL 。如果将这个参数设置为Off,那么Apache将使用从客户请求中获得服务器的名字和端口值(支持HTTP 1.1的客户的请求中将会有这些信息),重新构建URL 。
TypesConfig /usr/local/etc/apache/mime.types
TypeConfig用于设置保存有不同的MIME类型数据的文件名,在FreeBSD下缺省设置为/usr/local/etc/apache/mime.types 。
DefaultType text/plain
如果Web服务器不能决定一个文档的缺省类型,这通常表示文档使用了非标准的后缀,那么服务器就使用DefaultType定义的MIME类型将文档发送给客户浏览器 。这里的设置为text/plain,这样设置的问题是,如果服务器不能判断出文档的MIME,那么大部分情况下这个文档为一个二进制文档,但使用text/plain格式发送回去,浏览器将在内部打开它而不会提示保存 。因此建议将这个设置更改为application/octet-stream,这样浏览器将提示用户进行保存 。
MIMEMagicFile /usr/local/etc/apache/magic除了从文件的后缀出发来判断文件的MIME类型之外,Apache还可以进一步分析文件的一些特征,来判断文件的真实MIME类型 。这个功能是由mod_mime_magic模块实现的,它需要一个记录各种MIME类型特征的文件,以进行分析判断 。上面的设置是一个条件语句,如果载入了这个模块,就必须指定相应的标志文件magic的位置 。
HostnameLookups Off
通常连接时,服务器仅仅可以得到客户机的IP地址,如果要想获得客户机的主机名,以进行日志记录和提供给CGI程序使用,就需要使用这个HostnameLookups选项,将其设置为On打开DNS反查功能 。但是这将使服务器对每次客户请求都进行DNS查询,增加了系统开销,使得反应变慢,因此缺省设置为使用Off关闭此选项 。关闭选项之后,服务器就不会获得客户机的主机名,而只能使用IP地址来记录客户 。
ErrorLog /var/log/httpd-error.logLogLevel warnLogFormat "%h %l \u %t "%r" %>s %b "%{Referer}i" "%{User-Agent}i"" combinedLogFormat "%h %l \u %t "%r" %>s %b" commonLogFormat "%{Referer}i -> \u" refererLogFormat "%{User-agent}i" agent#CustomLog /var/log/httpd-access.log common#CustomLog /var/log/httpd-referer.log referer#CustomLog /var/log/httpd-agent.log agentCustomLog /var/log/httpd-access.log combined这里定义了系统日志的形式,对于服务器错误记录,由ErrorLog、LogLevel来定义不同的错误日志文件及其记录内容 。
对于系统的访问日志,缺省使用CustomLog参数定义日志的位置,缺省使用combined参数指定将所有的访问日志放在一个文件中,然而也可以将不同种类的访问日志放在不同的日志记录文件中,这是通过在CustomLog中指定不同的记录类型来完成的 。common表示普通的对单页面请求访问记录,referer表示每个页面的引用记录,可以看出一个页面中包含的请求数,agent表示对客户机的类型记录,显然可以将现有的combined定义的设置行注释掉,并使用common、referer和agent作为CustomLog的参数,来为不同种类的日志分别指定日志记录文件 。
显然,LogFormat是用于定义不同类型的日志进行记录时使用的格式,这里使用了以%开头的宏定义,以记录不同的内容 。
如果这些参数指定的文件使用的是相对路径,那么就是相对于ServerRoot的路径 。
ServerSignature On
一些情况下,例如当客户请求的网页并不存在时,服务器将产生错误文档,缺省情况下由于打开了ServerSignature选项,错误文档的最后一行将包含服务器的名字、Apache的版本等信息 。有的管理员更倾向于不对外显示这些信息,就可以将这个参数设置为Off,或者设置为Email,最后一行将替换为对ServerAdmin的Email提示 。

推荐阅读