Следующая проблема с хромом ...:
Я запустил приложение Grails 1.3.7 на сервере. Я заметил, что когда я запрашиваю статический контент (например, нединамические html-файлы) из Chrome, Chrome создает два JSESSIONID-cookie. Первый - при появлении окна входа в систему, второй - после успешного входа в систему. Если я хочу обновить страницу или запросить другой ресурс, мне придется снова войти в систему. (Я думаю, потому что Tomcat не понимает этих двух файлов cookie)
Я пробовал это с FF, но FF просто создает один файл cookie и отлично работает. Кроме того, я запускал приложение локально, и оно отлично работает даже с хромом. Итак, что-то с 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-сервере отображают большое количество активных сессий - из chrome ...
Обновление 2:
Пробовал локально на сервере (с хромом):
- localhost / myApp / frontend => Apache => ОТКАЗ
- локальный: 8080 / myApp / frontend => Tomcat => ОК
Похоже, проблема в Apache (?).
Решение:
Я понял :) Шаблоны Grails * .gsp всегда запрашивали 'favicon.ico' при каждом запросе. Причина появления ошибки в статическом контенте (например, в html-файлах) заключается в том, что мы перенаправляем на эти ресурсы из нашего приложения Grails.
Итак, я поместил favicon.ico в нужное место, и теперь он работает :)
Эта ошибка касается только Google Chrome, в FF и IE все работало без проблем.