web-dev-qa-db-ja.com

このCookieに無効なドメインが指定されました

アプリケーションでSpring Boot 1.4.4.RELEASEを使用しており、アプリケーションはAWSにデプロイされています。

私はユーザーごとにサブドメインを作ろうとしています、

ユーザー「test」がログインすると、URLはtest.XXX.comになります

ここでXXX.comは私のドメイン名です。

XXX.comの場合、問題なく動作します。

最近、XXX-test.comのようなテスト用にドメインをもう1つ購入しました。

しかし、ユーザーがログインすると、次の例外が発生します。

Java.lang.IllegalArgumentException: An invalid domain [.XXX-test.com] was specified for this cookie
    at org.Apache.Tomcat.util.http.Rfc6265CookieProcessor.validateDomain(Rfc6265CookieProcessor.Java:183)
    at org.Apache.Tomcat.util.http.Rfc6265CookieProcessor.generateHeader(Rfc6265CookieProcessor.Java:125)
    at org.Apache.catalina.connector.Response.generateCookieString(Response.Java:989)
    at org.Apache.catalina.connector.Response.addSessionCookieInternal(Response.Java:959)
    at org.Apache.catalina.connector.Request.doGetSession(Request.Java:3009)
    at org.Apache.catalina.connector.Request.getSession(Request.Java:2367)
    at org.Apache.catalina.connector.RequestFacade.getSession(RequestFacade.Java:896)
    at javax.servlet.http.HttpServletRequestWrapper.getSession(HttpServletRequestWrapper.Java:231)
    at org.springframework.security.web.context.HttpSessionSecurityContextRepository$SaveToSessionResponseWrapper.createNewSessionIfAllowed(HttpSessionSecurityContextRepository.Java:427)
    at org.springframework.security.web.context.HttpSessionSecurityContextRepository$SaveToSessionResponseWrapper.saveContext(HttpSessionSecurityContextRepository.Java:364)
    at org.springframework.security.web.context.SaveContextOnUpdateOrErrorResponseWrapper.onResponseCommitted(SaveContextOnUpdateOrErrorResponseWrapper.Java:85)
    at org.springframework.security.web.util.OnCommittedResponseWrapper.doOnResponseCommitted(OnCommittedResponseWrapper.Java:245)
    at org.springframework.security.web.util.OnCommittedResponseWrapper.sendRedirect(OnCommittedResponseWrapper.Java:127)
    at javax.servlet.http.HttpServletResponseWrapper.sendRedirect(HttpServletResponseWrapper.Java:138)
    at org.springframework.security.web.util.OnCommittedResponseWrapper.sendRedirect(OnCommittedResponseWrapper.Java:128)
    at org.springframework.security.web.DefaultRedirectStrategy.sendRedirect(DefaultRedirectStrategy.Java:57)

私のSpring application.properties、

server.session.cookie.domain=.XXX-test.com
server.session.cookie.path=/

以下の設定で他の製品環境で正常に動作します。

server.session.cookie.domain=.XXX.com
server.session.cookie.path=/

繰り返しになりますが、prod構成は、数か月前に1.3.5のスプリングブートバージョンで展開およびテストされました。

ここに変更または不足しているものはありますか?または、XXX-test.comに問題がありますか?

おかげで、

9
user1578872

RFC 6265( https://tools.ietf.org/html/rfc6265 )によると、.(ドット)文字は問題を引き起こす可能性があります。

LegacyCookieProcessorにフォールバックしようとすることができます。詳細は、 Tomcat 8でCookieプロセッサをLegacyCookieProcessorに変更する方法 を参照してください。

それでも問題が解決しない場合は、TCバージョンについてお知らせください。

13