温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

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

发布时间:2021-11-16 16:45:33 来源:亿速云 阅读:171 作者:小新 栏目:云计算

这篇文章给大家分享的是有关影响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 return
\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的配置指令有哪些”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI