您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關影響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的配置指令有哪些”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。