影响access.log的配置指令有哪些


这篇文章给大家分享的是有关影响access.log的配置指令有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。影响access.log的10个配置指令

1 log_icp_queries

该指令默认激活,导致squid记录所有的ICP查询。假如运行了一个繁忙的父cache,这点可能让

access.log文件变得巨大。为了节省磁盘空间,可禁止该指令:

log_icp_queries off

2 emulate_httpd_log

access.log文件有2种格式:普通格式和原始格式。普通格式就如同大部分HTTP服务器(如Apache)

的日志格式一样。它包含的信息少于Squid的原始格式。然而,假如运行Squid在代理人模式下(见

15章),你可能想要普通日志文件格式。普通格式或许也对你现有的日志文件分析工具有用。使用该

指令来激活普通格式:

emulate_httpd_log on

3 log_mime_hdrs

使用log_mime_hdrs让squid记录HTTP请求和响应的头部:

log_mime_headers on

在激活时,squid追加请求和响应头部到access.log。这会在每行增加2个域。每个域都以方括号引用

起来,便于分析。某些字符会被编码来保证日志文件可读。Table 13-2显示了这些编码方案。

Table 13-2. Character encoding rules for HTTP headers in access.log

Character

Encoding

Newline

n

Carriage retu开发云主机域名rn

r

Backslash

[

%5b

]

%5d

%

%25

ASCII 0-31

%xx (hexadecimal value)

ASCII 127-255

%xx (hexadecimal value)

4 log_fqdn

Squid默认把客户端IP地址放在access.log里。也可以记录可用的主机名,激活如下指令:

log_fqdn on

这点让Squid在接受到请求时,对客户端的地址发起反向DNS查询。假如在请求完成时查到了主机名,

Squid就将它放在第3域。

5 ident_lookup_access

该访问规则列表决定Squid是否对客户端的TCP连接发起RFC 1413身份查询。默认情况下,Squid不

会发布身份查询。为了激活这点,简单的增加一个或多个规则:

acl All src 0/0

ident_lookup_access allow All

假如在请求完成时查到了答案,Squid将其放在第8域。假如同时使用了HTTP验证,从验证得到的用

户名会取代身份查询答案。

6 log_ip_on_direct

当Squid转发cache丢失到原始服务器时,它在第9域记录原始服务器的IP地址。可以禁止这个指令,

以便squid记录主机名:

log_ip_on_direct off

在此情形下,主机名来自于URI。假如URI包含了IP地址,Squid不会将其转换为主机名。

7 client_netmask

该指令存在主要是为了保护用户的隐私。不同于记录完整的IP地址,你也可以掩盖一些位。例如:

client_netmask 255.255.255.0

在此设置下,access.log里的所有客户端IP地址的最后一个八位组是0:

1066036246.918 35 163.11.255.0 TCP_IMS_HIT/304 266 GET http://..

8 strip_query_terms

该指令是另一个隐私保护功能。在记录请求前,Squid删除了查询条件。假如日志文件不幸落入坏人之

手,他们不会找到任何用户名和密码。当该指令激活时,在问号(?)之后的所有字节被删除。例如,某

个URI如下:

http://auto.search.msn.com/response.asp?MT=www.kim o.com.yw&srch=3&prov=&utf8

会被记录为:

http://auto.search.msn.com/response.asp?

.9 uri_whitespace

早前我提到过出现在某些URI里的空格字符的问题。RFC申明URI必须不包括空格字符,但在实际中情

况并非如此。uri_whitespace指令指明Squid如何处理这种情况。允许的设置是:strip (default),

deny, allow, encode, 和chop。在这些设置里,strip,encode和chop保证URI域不包含任何空格

字符(空格字符会给access.log增加多余的域)。

allow设置允许请求不加修改的通过Squid。它很可能会给重定向器和日志文件解析器带来麻烦。与之

相反的是deny设置,它导致Squid拒绝这种请求。用户会接受到错误消息,但请求仍带着空格字符被

记录到access.log。

假如设置为encode,Squid将空格字符按RFC 1738规范来编码。这点其实用户代理应该先做到。

chop设置导致Squid把第一个空格字符后的URI都截断。

默认设置是strip,它让Squid从URI里移除空格字符。这确保日志文件解析器和重定向器工作正常,但

可能会破坏某些事情,例如不正确编码的搜索引擎查询。

10 buffered_logs

默认情况下,Squid禁止写cache.log文件的buffer,这允许你运行tail -f 命令实时的观察日志文件变

化。假如你认为这点导致不必要的性能开销,就可以禁用buffer:

buffered_logs off

然而,除非以完整debug模式运行Squid,这点可能无关紧要。注意该选项仅仅影响cache.log。其他

的日志文件总使用非缓冲的写方式。

很抱歉,因为您在网易相册发布了违规信息,账号被屏蔽。被屏蔽期间他人无法访问您的相册。感谢各位的阅读!关于“影响access.log的配置指令有哪些”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

相关推荐: 有了空间如何建网站

这期内容当中小编将会给大家带来有关有了空间如何建网站,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。有了空间搭建网站的话,也要有域名和网站程序。购买了域名,写好了网站程序,就可以利用空间建设网站了。创立文件登录虚拟主机,找到文…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 05/25 09:49
下一篇 05/25 09:49

相关推荐