0

新しいサーバーに移動してから、Webアプリケーションにログインするときに404エラーが発生します。認証にSpringAcegiを使用しており、HTTPストリームはかなり一般的です。

Request:
GET /dev/secure/umblogin?j_username=myuer&j_password=XXXX&j_client=1

Response:
HTTP/1.1 302 Moved Temporarily
Set-Cookie: JSESSIONID=3DABF165D2E18094632EA1478EF67D8E; Path=/dev
Location: http://hurricane.umbrellanet.ch/dev/secure/umbrellanet.go;jsessionid=3DABF165D2E18094632EA1478EF67D8E

Request:
GET /dev/login.go;jsessionid=DA122287727B72CD3F1B77DBD799531F

Response:
HTTP/1.1 404 Not Found

その理由は、パスパラメータ'; jsessionid = ..'のどこかにあり、セミコロンが%3bにエンコードされ、サーバーが検索に失敗します。

/dev/login.go%3bjsessionid=DA122287727B72CD3F1B77DBD799531F

これは珍しい問題ではないと確信していますが、良いグーグルヒットを見つけることができません。Apache Tomcat / 6.0.35を使用しており、ブラウザはIE9です。

ありがとうサイモン

4

1 に答える 1

0

これは基本的にIs it possible to disable jsessionid in tomcat servlet?の複製です。.

(Tomcat 6.0.33 以降、パス パラメータは Request.getRequestURI() で返されます。これはバグ修正と見なされます。)

于 2012-08-15T11:55:09.703 に答える