Squid
如何自定義 Squid 訪問日誌以顯示上傳文件,就像它的記錄下載文件一樣
只是想知道,有沒有辦法使用 squid 日誌檢查上傳內容或與上傳相關的任何數據?任何外掛或增強功能?任何其他可行的選擇。感謝您的任何建議。謝謝..
文件上傳只是 POST 請求,Squid 會記錄預設使用的請求方法:
Squid 的原生格式是: time elapsed remotehost code/status bytes method URL rfc931 peerstatus/peerhost type
所以像這樣的命令
grep POST /var/log/squid/access.log
應該給你所有的 POST 請求,但是這也將包括很多不是文件上傳的請求,這裡有一個例子:1416604451.778 243 172.16.1.20 TCP_MISS/200 455 POST http://serverfault.com/posts/641455/editor-heartbeat/answer - HIER_DIRECT/198.252.206.16 application/json 1416604497.047 245 172.16.1.20 TCP_MISS/200 327 POST http://serverfault.com/posts/641455/editor-heartbeat/answer - HIER_DIRECT/198.252.206.16 application/json 1416604542.304 241 172.16.1.20 TCP_MISS/200 327 POST http://serverfault.com/posts/641455/editor-heartbeat/answer - HIER_DIRECT/198.252.206.16 application/json 1416604587.562 241 172.16.1.20 TCP_MISS/200 327 POST http://serverfault.com/posts/641455/editor-heartbeat/answer - HIER_DIRECT/198.252.206.16 application/json 1416604694.915 241 172.16.1.20 TCP_MISS/200 313 POST http://serverfault.com/posts/validate-body - HIER_DIRECT/198.252.206.16 application/json
您可以嘗試按請求正文大小進行過濾以獲得更好的日誌,但如果不修改 Squid 的源,則無法記錄請求正文,因此您將很難獲取實際上傳的文件。
也許查看ICAP並創建一個響應 REQMOD 並在將請求返回給 Squid 之前記錄請求正文的程序?