2014-09-29 244 views
0

由於應用程序的需求,我有一個可從外部訪問的CouchDB實例。我想看看哪些IP地址正在嘗試使用我的數據庫進行身份驗證。通過檢查couchdb.log文件,我可以看到失敗的認證嘗試。他們看起來與此類似。Couchdb日誌記錄

[週一,2014年9月29日13時43分32秒GMT] [信息] [< 0.28472.7>] 127.0.0.1 - - 獲取 /offline_master/401

然而,無論我從哪裏連接,似乎記錄的IP地址始終是127.0.0.1。我誤解了這是如何工作的?我真的很想看到正在嘗試連接的IP地址。

回答

1

127.0.0.1是couchDB綁定的地址。它在那裏,因爲你可以設置couchdb根據使用的主機名稱做出不同的響應。

獲取客戶端IP地址的唯一方法是將日誌級別轉爲「調試」。您可以在蒲團的配置頁面中執行此操作。

你得到這樣的記錄(客戶端IP是1號線):

[Tue, 30 Sep 2014 00:14:27 GMT] [debug] [<0.451.4>] 'GET'/{1,1} from "192.168.1.52" 
Headers: [{'Accept',"*/*"}, 
      {'Host',"localhost:5984"}, 
      {'User-Agent',"curl/7.30.0"}] 
[Tue, 30 Sep 2014 00:14:27 GMT] [debug] [<0.451.4>] OAuth Params: [] 
[Tue, 30 Sep 2014 00:14:27 GMT] [info] [<0.451.4>] 127.0.0.1 - - GET/200 

注意這一點。調試日誌非常詳細。填充硬盤並不需要很長時間。

可以按模塊設置日誌級別。你需要設置的模塊是couch_httpd。將其餘的默認設置爲「錯誤」或「致命」。

參見:3.6.2 Per module logging