Björn Höhrmann: Apache: Bug in 1.3.10+

Beitrag lesen

ich habe gerade einen häßlichen bug in Apache entdeckt.

Nee...

Apache hat offenbar in Version 1.3.10 eine zusätzliche
Routine zum Prüfen des korrekten Aufbaus eines Host-
Headers eingebaut - mit dem Effekt, daß nun Hostnamen,
welche einen "_" (underscore) enthalten, nicht mehr
akzeptiert werden.

Ist doch gut?!

Gebe ich statt dessen seinen Hostnamen an, etwa bei

http://pc_ms_test/

, dann erhalte ich als Antwort:

Bad Request
     Your browser sent a request that this server could not understand.
     Client sent malformed Host header
     Apache/1.3.12 Server at pc_ms_test Port 80

Völlig korrekt, dein Hostname darf keinen '_' enthalten, tut er es doch, ist er fehlgeformt und darf/kann nicht bearbeitet werden.

Man könnte natürlich einfach seinen Hostnamen ändern ...

Richtig, dass musst du tun.

es sei denn, man darf das nicht, oder er ist im WWW bekannt
(Bookmarks etc.) oder was auch immer.

Bei uns im Büro heißen nun mal alle PCs "pc_*".

Tut mir leid das sagen zu müssen, aber ihr hättet jemanden einstellen sollen, der sich mit sowas auskennt.

Hat vielleicht jemand von der "DNS-Fraktion" eine Idee
für einen Workaround?

Das Problem ist kein DNS-Problem sondern ein selbstverursachtes. Wenn du aber deine eigene Software unbedingt buggy machen willst, musst du eben die Prüfroutine ändern.