Bea*_*aft 5 grails google-chrome jsessionid tomcat7
以下问题与铬...:
我在服务器上运行Grails 1.3.7应用程序.我注意到,当我从Chrome请求静态内容(例如非动态html文件)时,Chrome会创建两个JSESSIONID-Cookies.登录窗口显示时的第一个,以及成功登录后的第二个.如果我想刷新页面或请求其他资源,我将再次登录.(我认为因为Tomcat不理解这两个cookie)
我用FF尝试过,但FF只是创建了一个Cookie,它的工作完美.此外,我已经在本地运行了应用程序,它甚至可以完美地使用chrome.所以,tomecat的东西一定是错的.
环境:
我的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
Run Code Online (Sandbox Code Playgroud)
提前致谢.
更新1:
我重新构建,重新部署应用程序并重新启动tomcat.
现在我注意到:Chrome不再生成两个cookie.但错误是一样的.每次刷新或请求某些内容时,JSESSIONID都会更改,我必须再次登录.
tomcat-server上的一个短监视显示了大量的活动会话 - 来自chrome的那些...
更新2:
我在服务器上本地尝试了它(使用chrome):
似乎Apache是问题(?).
解:
我已经知道了:) Grails*.gsp-Templates总是在每个请求上请求'favicon.ico' .错误出现在静态内容(如html文件)上的原因是因为我们从Grails-Application重定向到这些资源.
所以我把favicon.ico放在正确的位置,现在它工作:)
此错误仅涉及谷歌Chrome,在FF和IE中它没有任何问题.
小智 6
我也遇到了这个问题.我花了一段时间才弄清楚发生了什么(包括使用Wireshark嗅探),还有更多的时间来寻找可行的解决方案.最后我找到了这个帖子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>
Run Code Online (Sandbox Code Playgroud)
然后重新部署新的war文件.现在一切都按预期工作了.
归档时间: |
|
查看次数: |
8421 次 |
最近记录: |