以下问题与铬...:Chrome和JSESSIONID
我已经运行在服务器上的Grails 1.3.7应用程序。我注意到,当我从Chrome请求静态内容(例如非动态html文件)时,Chrome会创建两个JSESSIONID-Cookies。登录窗口出现时的第一个,成功登录后的第二个。如果我想刷新页面或请求其他资源,我必须重新登录。 (我认为是因为Tomcat不理解这两个cookie)
我已经尝试过使用FF,但FF只是创建一个Cookie,并且其工作完美。 另外,我已经在本地运行该应用程序,并且它甚至可以完美地与Chrome一起工作。所以,tomecat的东西一定是错的。
环境:
- 与Grails应用1.3.7(带有弹簧式安全核心1.2.4)
- 的Apache Tomcat 7
我的httpd(Windows Server 2008上)。 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的服务器上的一个短的手表显示的活动会话的数量较大 - 来自铬...
更新2:
我试了一下在服务器本地(铬) :
- 本地主机/对myApp /前端=>阿帕奇=> FAIL
- 本地主机:8080 /对myApp /前端=>的Tomcat =>行
看起来像Apache是问题(?)。
解决方案:
我知道了:) Grails的* .gsp模板总是要求 '的favicon.ico' 上每个请求。 错误出现在静态内容(如html文件)上的原因是我们重定向到Grails应用程序中的这些资源。
所以我把favicon.ico的在正确的地方,而现在它的工作原理:)
此错误只涉及谷歌浏览器,在FF和IE浏览器,它的工作没有任何问题。
您的问题和解决方案确实帮助一群跨国企业开发人员和工程师解决了几个月来一直在发生的生产问题。谢谢。 – rubynorails 2016-05-03 20:44:30