web-dev-qa-db-ja.com

Chromeキープアライブ)によって占有されているWindows上のApache

Chromeのキープアライブパケットは、Apacheが他のクライアントからのすべての要求に応答するのをブロックしているようです。これらはアクセスログにもmod_statusにも表示されず、ブラウザは応答を待ち続けます。これは、Apacheでキープアライブが有効になっているか無効になっているかに関係なく発生します。

これは、クライアントが別のネットワーク上にある場合にのみ発生します。これは、Chrome機能が接続をNATゲートウェイ/ファイアウォールの背後で維持する)に関連しているようです。サーバーマシンのブラウザでは、2番目のネットワーク上のクライアントがブロックされている場合でも、Apacheのページにいつでもアクセスできます。

このWireshark画面では、リクエストがChromeによってブロックされたときにサーバーで何が起こるかの例を見ることができます: Chrome started

Chromeインスタンスを閉じると、Apacheは以前に受信したリクエストへの応答を再開し、アクセスログに表示されます。 Chrome closed

Chromeでページを更新すると、他のリクエストにも応答することがあります。

これはApacheのバグですか、それとも設定ミスですか?または、ネットワーク構成が原因である可能性がありますか?

サーバ:

  • Apache:2.4.20 x64 VC14
  • PHP:7.0.5 TS x64 VC14
  • Windows Server 2012 R2
1

Apache 2.4.25 x64 VC14にアップデートしたので、バグは修正済みです。

1