2008年1月22日

調整 Tomcat 的 Logger 設定

因應來自 Yahoo! 極度腦殘(最近超喜歡用這個詞兒)的關鍵字搜尋服務,開始設法阻止 Yahoo! 的機器人 (spider) 到本站做索引,第一步就是找出 Yahoo! 使用的機器人叫啥名字。

打開 Tomcat 的 access_log 檔看看,咦?沒有 User-Agent 的資訊?東翻西找後才確定 Tomcat 的預設設定是不會登載 User-Agent 的資訊的,要加上也很簡單: 將 Valve 元素的樣式由 common 改為 combined 即可。

預設的 Valve 內容
<Valve className="org.apache.catalina.valves.AccessLogValve"
                  directory="logs"  prefix="blog_access_log." suffix=".txt"
                  pattern="common" resolveHosts="false"/>

修正後的 Valve 設定
<Valve className="org.apache.catalina.valves.AccessLogValve"
                  directory="logs"  prefix="blog_access_log." suffix=".txt"
                  pattern="combined" resolveHosts="false"/>

以下是其中的一筆記錄(恰好捉到百度的 spider),為版面之故有重排過:

61.135.145.204 - - [11/Sep/2006:06:02:38 +0000] 
    "GET /ada/exec/rss?snip=start/2005-08-01/1 HTTP/1.1" 200 14512 
    "-" "Baiduspider+(+http://www.baidu.com/search/spider.htm)"

記錄結果

  1. 有看到來自 Yahoo! China 的連線記錄,不過似乎 Yahoo! China 也和 Yahoo! 奇摩一樣,沒留下任何的 robots 說明資訊。
  2. Yahoo! 的 Slurp 連線資訊中帶有 robots.txt 的設定內容,不過設了之後似乎也沒啥差… =.=
  3. 對 Baiduspider+ 開始覺得不爽了

奇怪的連線請求,看來還是設法擋掉比較好?

222.60.144.235 - - [11/Sep/2006:15:35:06 +0000] "GET /s8tmdqq.asp HTTP/1.1" 404 982 "-" "InetURL:/1.0"
222.60.144.235 - - [11/Sep/2006:15:35:09 +0000] "GET /tmdqq.asp HTTP/1.1" 404 976 "-" "Mozilla/3.0 (compatible; Indy Library)"
222.60.144.235 - - [11/Sep/2006:15:35:16 +0000] "GET /s8qq.txt HTTP/1.1" 404 973 "-" "InetURL:/1.0"
222.60.144.235 - - [11/Sep/2006:15:35:19 +0000] "GET /qq.txt HTTP/1.1" 404 967 "-" "Mozilla/3.0 (compatible; Indy Library)"
222.60.144.235 - - [11/Sep/2006:15:37:22 +0000] "GET /s8tmdqq.asp HTTP/1.1" 404 982 "-" "InetURL:/1.0"
222.60.144.235 - - [11/Sep/2006:15:37:23 +0000] "GET /tmdqq.asp HTTP/1.1" 404 976 "-" "Mozilla/3.0 (compatible; Indy Library)"
222.60.144.235 - - [11/Sep/2006:15:37:28 +0000] "GET /s8qq.txt HTTP/1.1" 404 973 "-" "InetURL:/1.0"
222.60.144.235 - - [11/Sep/2006:15:37:29 +0000] "GET /qq.txt HTTP/1.1" 404 967 "-" "Mozilla/3.0 (compatible; Indy Library)"

參考資料

  1. Apache Tomcat Configuration Reference - The Valve Component