Wenn Apache 2.4 unter Windows hängen bleibt …

… könnte das an der Direktive  AcceptFilter  liegen.

Wer diese Direktive1 trotz einigen Jahren Erfahrung mit Apache unter Windows nicht kennt (so wie wir), der wird Sie beim Einsatz von Apache 2.4 unter Windows recht schnell kennenlernen. Leider.

Ein Abruf mit mit dem IE in Version 10 oder 11 sorgt dafür, dass der Apache-Prozess keine Anfragen mehr entgegennimmt und nur nach einem Neustart des Prozesses weiterarbeitet, wenn diese Direktive mit den Standardwerten betrieben werden (was immer dann der Fall ist, wenn man diese Direktive nicht in die Config geschrieben hat). Wenn man dem Problem hinterhergoogelt, findet man einen Artikel dazu bei Stijn de Witt, der sich damit beschäftigt.

Die Standardwerte dieser Direktive unter Windows sind:

Um das Problem aus der Welt zu schaffen müssen die Werte geändert oder überhaupt erst in die Config geschrieben werden:

Damit funktioniert dann auch Apache nach einem Neustart des Prozesses wieder ordentlich.

Ich muss gestehen, dass ich nicht so richtig verstanden habe, warum ein Abruf mit dem IE dieses Verhalten auslöst, während andere Browser keine Problem verursachen. Prinzipiell ist es nie gut, wenn ein Client einen Server aus dem Tritt bringen kann2. Ich denke, an der Stelle ist Apache in der Pflicht.

  1. Die Dokumentation dazu gibt es in den „Apache Core Features“: http://httpd.apache.org/docs/2.4/mod/core.html#acceptfilter
  2. Das widerspricht Postels Gesetz aus dem RFC 761: „be conservative in what you do, be liberal in what you accept from others“ (siehe auch http://de.wikipedia.org/wiki/Robustheitsgrundsatz)