Squid

如何自定義 Squid 訪問日誌以顯示上傳文件,就像它的記錄下載文件一樣

  • August 24, 2020

只是想知道,有沒有辦法使用 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 之前記錄請求正文的程序?

引用自:https://serverfault.com/questions/641455