Tomcat 8.5.28: Плохой заголовок Set-Cookie: Безопасный; HttpOnly Нет '=' для токена, начиная с позиции 75

Мы переходим с Tomcat 6.x на Tomcat 8.5.28 . Мы затрагиваем нижеприведенную проблему с самого первого входа в систему. Кажется, версия Tomcat 8.5.28 добавляет атрибут cookieOnly в Cookie. Как избежать этого. Из-за этого атрибута моей стороне клиента не удается выполнить синтаксический анализ на уровне самого API Java

java.net.ProtocolException: Bad Set-Cookie header: JSESSIONID=09E13BB21C867AEA7B7BBECA3E4CDCCD; Path=/CSCOnm/servlet; Secure; HttpOnly
No '=' found for token starting at position 75
    at HTTPClient.Cookie.parse(Cookie.java:248)
    at HTTPClient.CookieModule.handleCookie(CookieModule.java:442)
    at HTTPClient.CookieModule.responsePhase1Handler(CookieModule.java:391)
    at HTTPClient.HTTPResponse.handleResponse(HTTPResponse.java:726)
    at HTTPClient.HTTPResponse.getInputStream(HTTPResponse.java:566)
    at HTTPClient.HttpURLConnection.getInputStream(HttpURLConnection.java:611)
    at java.net.URLConnection.getContent(Unknown Source)

Я следовал некоторым советам по настройке, как показано ниже в web.xml . Но не повезло

<session-config>
 <cookie-config>
  <http-only>false</http-only>
 </cookie-config>
<session-config>

Может ли любое тело помочь мне. Как решить эту проблему.. Я заблокирован на самой первой странице.

1 ответ

Изменяя заголовок HTTP на сервере Apache, мы исправили эту проблему. Мы используем сервер Apache перед Tomcat . Поэтому я добавил ниже код в httpd.conf, чтобы удалить этот нежелательный атрибут. Это исправило эту проблему.

Header edit* Set-Cookie "(JSESSIONID=.*)(; Secure)" "$1"
Header edit* Set-Cookie "(JSESSIONID=.*)(; HttpOnly)" "$1"
Header edit* Set-Cookie "(JSESSIONID=.*)(; No \'=\')" "$1"
Другие вопросы по тегам