Chrome 和 JSESSIONID

2024-05-07

chrome 出现以下问题...:

我已经在服务器上运行 Grails 1.3.7 应用程序。我注意到,当我从 Chrome 请求静态内容(例如非动态 html 文件)时,Chrome 会创建两个 JSESSIONID-Cookie。第一个是登录窗口出现时,第二个是成功登录后。如果我想刷新页面或请求其他资源,我必须再次登录。 (我想是因为Tomcat不理解那两个cookie)

我已经用 FF 尝试过了,但 FF 只是创建了一个 Cookie 并且它工作得很好。 另外,我已经在本地运行了该应用程序,即使在 Chrome 上也能完美运行。所以,一定是tomcat出了问题。

环境:

  • Grails-Application 1.3.7(带有 Spring-Security-Core 1.2.4)
  • Apache Tomcat 7(在 Windows Server 2008 上)

我的httpd.conf:

ProxyPass /manager http://myUrl:8080/manager
ProxyPass /myGrailsApp http://myUrl:8080/myGrailsApp
ProxyPassReverse /manager http://myUrl:8080/manager
ProxyPassReverse /myGrailsApp http://myUrl:8080/myGrailsApp

ProxyPass / http://myUrl:8080/myGrailsApp/frontend
ProxyPassReverse / http://myUrl:8080/myGrailsApp/frontend

提前致谢。

更新1:

我重新构建、重新部署应用程序并再次重新启动 tomcat。

现在我注意到:Chrome 不再生成两个 cookie。但错误是一样的。每次我刷新或请求某些内容时,JSESSIONID 都会发生变化,我必须重新登录。

tomcat 服务器上的简短观察显示大量活动会话 - 来自 chrome 的会话...

更新2:

我在服务器本地尝试过(使用chrome):

  • localhost/myApp/frontend => Apache => 失败
  • 本地主机:8080/myApp/frontend => Tomcat => 确定

看来 Apache 是问题所在(?)。

解决方案:

我懂了 :) Grails *.gsp-Templates 总是请求 'favicon.ico'each要求。 错误出现在静态内容(如 html 文件)上的原因是我们从 Grails 应用程序重定向到这些资源。

所以我已将 favicon.ico 放在正确的位置,现在它可以工作了:)

此错误仅涉及 Google Chrome,在 FF 和 IE 中它运行没有任何问题。


我也遇到了这个问题。我花了一段时间才弄清楚发生了什么(包括使用 Wireshark 进行嗅探),并且还花了更多时间来找到可行的解决方案。 终于找到这个话题了https://vaadin.com/forum/-/message_boards/view_message/1216366 https://vaadin.com/forum/-/message_boards/view_message/1216366

看来这是 Chrome/Safari(Webkit 浏览器?)及其处理重定向 cookie 的方式的问题。 简单的解决方法是将 context.xml 添加到我的 spring 项目中的 META-INF 目录中,其中包含

<?xml version='1.0' encoding='utf-8'?>
<Context sessionCookiePathUsesTrailingSlash='false'>
</Context>

然后重新部署新的war文件。现在一切都按预期进行。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Chrome 和 JSESSIONID 的相关文章

随机推荐

  • 压缩 Log4j 文件

    是否可以压缩日志文件 我通过 RollingFileAppender 进行 log4j 附加功能 http logging apache org log4j extras 对此表示支持 只需将以下内容添加到您的RollingFileAppe
  • 实施策略模式的函数式方法

    我正在尝试解决一个处理从一种温度单位到另一种温度单位 摄氏度 开尔文 华氏度 转换的问题 在Java中 我需要创建一个接口并提供多个实现来封装输入类型并将结果作为输出类型的单元返回 例如开尔文到摄氏度或摄氏度到华氏度等 我已经在 scala
  • 当查询没有返回记录时,如何通过 PDO/Sqlite 获取列名?

    下面的代码允许我将 SQL 语句传递给一个类并调用其方法来显示一个漂亮的结果表 包括列名 然而 如果没有结果 我仍然想要列名要显示 很遗憾 getColumnMeta没有像我发现的其他示例中那样返回任何数据 有谁知道如何让 getColum
  • 删除超过 2 个月的分区

    我有一个基于日期字段进行分区的表 现在 我必须编写一个过程来删除所有超过 2 个月的分区 即 test date 超过 2 个月 我该怎么做 create table test table test id number test date
  • 从values() 或values_list() 中排除字段

    有没有一种有效的方法从函数中排除字段values or values list e g Videos objects filter id 1 get values 我想从此查询集中排除该字段duration 我知道我可以指定我想要在结果中包
  • 在java中获取调用层次结构

    我在追踪错误时遇到了很大的困难 了解哪个方法调用了某个方法会很有帮助 有没有一种简单的方法可以从java获取调用层次结构 Java 是应用程序的一小部分 因此我无法在 eclipse net beans 中编译和运行整个应用程序 因此我无法
  • 无法访问jsf组件中的javascript文件

    我有一个必须访问 javascript 文件的 jsf 组件 我添加了这个输出脚本 如下面的代码所示 我在生成的 html 中收到错误 并且无法访问 javascript javascript 文件位于 document root js 目
  • 类的自定义格式

    我当前正在使用 Serilog 我希望能够将一个类传递给记录器并让它在输出到文本文件之前以自定义格式记录 有点类似于格式提供者 https github com serilog serilog wiki Formatting Output
  • 在 Ubuntu 11 上的 Apache 2 上使用 virtualenv 的多个 Django 应用程序

    我已经使用以下命令成功设置了一个 Django 应用程序virtualenv在 Ubuntu 和 Apache 2 上 使用WSGIPythonHome指令指向我的virtualenv地点 现在我需要创建一个单独的 Django 应用程序
  • 使用 sidekiq 只执行众多重复作业之一?

    我有一个后台作业 在 MongoDB 上执行映射 归约作业 当用户向文档发送更多数据时 它会启动在文档上运行的后台作业 如果用户发送多个请求 它将启动同一文档的多个后台作业 但实际上只有一个需要运行 有没有办法可以防止多个重复实例 我正在考
  • 哪个更好:保留向量容量、预分配大小或在循环中推回?

    我有一个函数 它将指向 char 数组和段大小的指针作为输入参数 并调用另一个需要std array
  • Javascript Concat 多维数组

    我正在尝试连接一个多维数组 以便可以迭代并显示所有数据 有一篇关于如何访问嵌套数据的非常好的帖子here https stackoverflow com questions 11922383 access process nested ob
  • 警告:mysqli_stmt::bind_param():变量数量与准备好的语句中的参数数量不匹配[重复]

    这个问题在这里已经有答案了 我收到以下错误 Warning mysqli stmt bind param Number of variables doesn t match number of parameters in prepared
  • 如何在 JTextArea 中查找光标位置

    有人会帮我找到 JTextArea 中以像素为单位的光标位置吗 我用过txtArea getCaretPosition 但这不是我所期望的位置 实际上我想要光标位置在x y像素坐标 TextUI http download oracle c
  • Ionic Cordova Build Android 未找到已安装的构建工具

    我在 Ubuntu 16 04 上的 Android 上构建 ionic 应用程序时遇到问题 这是我为了实现这一目标所做的一步 下载Android Studio 下载Android SDK 在 bashrc 和 bash profile 中
  • Android:单击分组通知会重新启动应用程序

    我正在尝试解决我在通知方面遇到的问题 在我的应用程序中 当有人单击列表项下载文件时 我将创建一个通知 带有不确定的进度和随机生成的整数代码 在下载回调中 我使用原始通知的相同 ID 更新通知以停止进度 单击通知应该打开手机上的下载文件夹 使
  • 使用 C# 在 Powerpoint 2013 中创建具有多个系列的图表

    我使用的是 VS2013 Ultimate 带有 Office 2013 已安装 PowerPoint Excel 和 Word 我正在用 C 编码 我正在使用 C 创建 PowerPoint 演示文稿 到目前为止 我已经成功地完成了我想做
  • bash、zsh :声明 [*] (天哪)

    我正在使用具有以下语法的 bash 脚本 declare a THIS 这在 zsh 中似乎是非法的 我收到 未找到匹配项 THIS 错误 谁能帮我把它翻译成 zsh 吗 另外 什么是 语法是什么意思 我知道我们正在声明一个数组 但为什么要
  • simplexml 和 xpath,读取同级

    我有以下 XML 文件
  • Chrome 和 JSESSIONID

    chrome 出现以下问题 我已经在服务器上运行 Grails 1 3 7 应用程序 我注意到 当我从 Chrome 请求静态内容 例如非动态 html 文件 时 Chrome 会创建两个 JSESSIONID Cookie 第一个是登录窗