Dziwny problem z IE9

Przeniosłem pewien serwis z testowego serwera pracującego na Ubuntu 9.04 na produkcyjny serwer pracujący na Ubuntu 10.04. Po przeniesieniu bazy, aplikacji itd. wszystko działało doskonale w Firefox i Chrome ale w żaden sposób nie mogłem zalogować się pod IE9. Zmarnowałem ze trzy godziny na próby, testy i debugowanie serwisu i nic. Nie ustawiał się plik sesji – a w zasadzie ustawiał się ale zaraz tworzone były jeszcze dwa nowe o zerowej długości.

Może dlatego że robiłem to w nocy, a sprawa wydawała się prosta nie wpadłem, żeby zapytać dr Google o zdanie. Następnej nocy zrobiłem to i w gąszczu różnych materiałów znalazłem odpowiedź – problem jest trywialny, chociaż nie niem co strzeliło programistom MS do głowy żeby wprowadzić taką funkcję.

Okazało się, że problemem jest znak podkreślenia w nazwie serwera. Nazwałem produkcyjny serwer http://xx_yyyy.m2s.pl i wszystko niby powinno działać. Jednak znak podkreślenia nie jest standardowym znakiem w nazwach domenowych (ciekawe dlaczego) i IE stwierdzał, że nie wolno ustawiać cookies na takich adresach.

Wystarczyło zmienić nazwę serwera usuwając znak „_” i wszystko gra i buczy nawet w IE.