Apache 接続を閉じる (HTTP ダウンロード)

Apache 接続を閉じる (HTTP ダウンロード)

大きなファイルをホストするサーバーがあり、ユーザーはそれを Web サイトからダウンロードできます。問題は、ユーザーがファイルをダウンロードしている間にユーザー アカウントを無効にしても、ブラウザーはダウンロードを完了してしまうことです。

私がやろうとしているのは次のことです:

1. Find the active process responsible for the current (download) connection
2. Kill the process - so that users browser fails to download the file.

最初のステップはどうすれば実現できますか? ファイル転送自体は Apache、PHP、または他の何かが担当しているのでしょうか? ここから先はどこに行けばいいのか全くわかりません。 ありがとうございます!

答え1

mod_status少し前に似たような問題を扱いました。Apache は間違いなくダウンロードのリクエストを処理しています。Apache のモジュールから始めます。 と を一緒に調べるtopと、psプロセスを見つけることができるかもしれません。

mod_statusモジュールをオンにすると、ページにアクセスしてhttp://your.server.name/server-statusあらゆる種類の統計情報を取得できます。ドキュメントを参照

これはドキュメントからの抜粋です:

[もし] どのリクエストまたはクライアントが問題を引き起こしているかを特定したい場合...まず、ExtendedStatus がオンになっていることを確認して、各子またはスレッドの完全なリクエストとクライアント情報を表示できるようにします...次に、プロセス リスト (top または同様のプロセス表示ユーティリティを使用) を調べて、主な原因となっている特定のプロセスを特定します。

関連情報