有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java Tomcat 8.5.28:错误的SetCookie头:安全;HttpOnly未找到从位置75开始的令牌的“=”

我们正在从Tomcat6迁移。x到Tomcat 8.5.28。我们从第一次登录就开始讨论以下问题。Tomcat8.5.28版本似乎在Cookie中添加了httpOnly属性。如何避免这种情况。由于这个属性,我的客户端无法在JavaAPI级别本身进行解析

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) 个答案

  1. # 1 楼答案

    通过修改Apache服务器中的HTTP头,解决了这个问题。。我们在Tomcat前面使用Apache服务器。所以我在httpd中添加了以下代码。conf删除这个不需要的属性。它解决了这个问题

    Header edit* Set-Cookie "(JSESSIONID=.*)(; Secure)" "$1"
    Header edit* Set-Cookie "(JSESSIONID=.*)(; HttpOnly)" "$1"
    Header edit* Set-Cookie "(JSESSIONID=.*)(; No \'=\')" "$1"