2014-09-24 3 views
1

Конфигурация:ERR_CONTENT_LENGTH_MISMATCH при загрузке файлов на расслоение плотной TOMCAT сервера

  • OS: CntOS 6,5 минимальной
  • TOMCAT: 7.0.53
  • Развернутые войны файл содержит много .js и .css файлы

Вопрос: Когда военный файл увлекшись на tomcat, он правильно взорвался, и веб-портал отлично работает. Машина простаивает более 12 часов.

  • Я обращаюсь к странице tomcat: отлично работает. Даже страница менеджера открывается нормально.
  • Я запускаю свой веб-портал, он не загружается. Ошибка: GET http: //: 8080/webportal/client/libs/jquery/jquery-ui-1.9.2.min.js net :: ERR_CONTENT_LENGTH_MISMATCH 10.211.106.184/:63 Я получаю эту ошибку для различных других js-файлов также.

Что я пробовал:

  • Не проблема с памятью, так как достаточный объем свободной памяти.
  • Пытался открыть файл .js на другой вкладке, страница сохраняет нагрузку в течение длительного времени и затем прекращает загрузку. Файл не загружен полностью. Следовательно, проблема несоответствия содержимого.
  • Доступ к тому же URL-адресу из локального окна CentOS с использованием wget-работ, но доступ из браузера на удаленном ящике не
  • После доступа к статическому файлу на устройстве с использованием редактора vi (не сохраняется только для доступа) загрузка из браузера начинается

Вопрос:

  • Что может быть проблемой здесь? Есть ли проблема совместимости с tomcat и CentOS.
  • Обратите внимание, что сразу после развертывания все работает нормально. Webportal не работает только после нескольких (более 12) часов бездействия.
+0

Должно быть ограничение/ограничение длины содержимого в настройках вашего веб-сервера. –

+0

Спасибо, Zee. Однако проблема с длиной содержимого связана с тем, что загрузка веб-страницы прекращается до завершения загрузки файла js. И это работает после развертывания войны. Только перестает работать, если сервер простаивает 12 часов и более. –

ответ

1

В конфе файл/server.xml конфигурации в Apache Tomcat папки установить "usesendfile" атрибут "ложный", как показано ниже: -

<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" URIEncoding="UTF-8" **useSendfile="false"**/> 

Пожалуйста, обратитесь к ссылке: http://ci.apache.org/projects/tomcat/tomcat7/docs/config/http.html для более подробной информации ,

+0

Спасибо Kunal. Установка 'usesendfile = false' гарантирует, что tomcat отправляет сжатые ответы и, следовательно, сокращает время, необходимое для передачи в более медленных сетях. Это устранило проблему. –

+0

@DhavalMetrani Я не думаю, что ваш вывод правильный. Установка usesendfile = false отключает сжатие и, таким образом, сохраняет время процессора. –

0

Попробуйте развернуть свой webapp на Tomcat 6 или Tomcat 8, иногда это работает. Я решил такую ​​проблему, но не знаю почему. Таким образом, вы можете попробовать. Возможно, это работает. Удачи!

Смежные вопросы