以下问题与铬…:
我在服务器上运行Grails 1.3.7应用程序.我注意到,当我从Chrome请求静态内容(例如非动态html文件)时,Chrome会创建两个JSESSIONID-Cookies.登录窗口显示时的第一个,以及成功登录后的第二个.如果我想刷新页面或请求其他资源,我将再次登录. (我认为因为Tomcat不理解这两个cookie)
我用FF尝试过,但FF只是创建了一个Cookie,它的工作完美.
此外,我已经在本地运行了应用程序,它甚至可以完美地使用chrome.所以,tomecat的东西一定是错的.
环境:
> 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-server上的一个短监视显示了大量的活动会话 – 来自chrome的那些…
更新2:
我在服务器上本地尝试了它(使用chrome):
> localhost / myApp / frontend => Apache =>失败
> localhost:8080 / myApp / frontend => Tomcat =>好
似乎Apache是问题(?).
解:
我懂了 :)
Grails * .gsp-Templates总是在每个请求上请求’favicon.ico’.
错误出现在静态内容(如html文件)上的原因是因为我们从Grails-Application重定向到这些资源.
所以我把favicon.ico放在正确的位置,现在它工作:)
此错误仅涉及谷歌Chrome,在FF和IE中它没有任何问题.