大量の大きなファイルを処理する nginx サーバーがあります。サーバー上で多数の接続が確認できます。ご存知のとおり、リクエストが完了した後にアクセスログのファイルが書き込まれます。
リクエストが提供される前にログに記録する方法はありますか? 問題は、大きなファイルのダウンロードに何時間もかかるため、どのファイルがヒットしたかを知りたいということです。
答え1
いいえ、これはネイティブでは不可能であり、ほとんどのログ情報にはリクエストの完了が必要であるため (ステータス コード、送信バイト数、期間など)、あまり意味がありません。
ただし、サードパーティのスクリプト モジュール (perl、lua、groovy など) を使用すると、リクエストの処理中に自由に好きな操作を実行できるため、この問題を回避することができます。