2013-04-29 3 views
0

У меня есть веб-приложение, развернутое на Tomcat 7 (порт 8080) и сервер Apache (на порт 80), перед ним, на Linux. При доступе к приложению на 8080 все работает нормально. В противном случае на порте 80 приложение ведет себя странно: когда я делаю один и тот же запрос (доступ к одной и той же ссылке) несколько раз, иногда ответ (страница jsp, переведенный как HTML) возвращается с типом контента «application/octet-stream» типа контента, , как файл для загрузки. Apache возвращает страницу с неправильным типом мим

Если открыть загруженный файл с помощью блокнота, есть куча строк в начале с бессмысленными символами, а затем заголовок ответа, а затем мой HTML-страницы.

<code> 
..•éb©®ùG.....< more nonsens >.......1Óä£ýÙw+ÊIñãðÇÿHTTP/1.1 200 OK 

Date: Mon, 29 Apr 2013 09:23:37 GMT 
Server: Apache/2.2.17 (Linux/SUSE) 
Content-Language: ro 
Keep-Alive: timeout=15, max=97 
Connection: Keep-Alive 
Transfer-Encoding: chunked 
Content-Type: text/html;charset=UTF-8 

1ff8 

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE HTML SYSTEM "about:legacy-compat"> 
...<the rest of my html page> 
</code> 

Казалось бы, как Apache выдает ошибку, но журналы чистые (оба журнала Apache и журналы mod_jk).


Я ценю любую помощь.

Спасибо!

Tekin.

ответ

0

Я нашел проблему: Avast Antivirus (бесплатная версия) бесшумно разбирается с ответом, что, в свою очередь, вызывает еще одну проблему: почему она думает, что это угроза при доступе к сайту на порту 80, но не делает что угодно при доступе к Tomcat прямо на порт 8080?

+0

Почему, по вашему мнению, антивирус вызывает эту проблему. Любое доказательство этого? – Ankit

+0

Да. И я также обнаружил, что модуль вызывает проблему: если я отключу Web Shield от Avast, все будет работать. Кроме того, эта проблема появляется только на одном компьютере, на котором также установлен Avast. Другие компьютеры не проявляли этой проблемы. –

+0

Хорошо, проблема с портом, возможно, потому, что порт 80 является стандартным HTTP-портом, поэтому весь трафик, проходящий через порт 80, может быть проверен. Принимая во внимание, что порт tomcat (8080 или любой другой) является портом приложения. – Ankit

0

Я должен полностью отключить брандмауэр Avast и большинство защитных экранов для мусора, если страница не загружается и не перезагружается, а маленький круг просто вокруг и вокруг навсегда или до тех пор, пока он не истечет.

Я обнаружил, что это был Аваст, вызывающий мои проблемы, отключив эту чертову вещь. Выключите его, и он работает. Это мешает моему javascript и т. Д.

Также я не могу войти в мой сайт в двух браузерах.

Я бы использовал Linux вместо окон для веб-разработки, но мне нравится мой Adobe Fireworks и другие части программного обеспечения, плюс я абсолютно должен иметь IE для тестирования сайта. Поэтому для разработки и тестирования моего сайта у меня не должно быть безопасности. Я больше не буду покупать аваст.

0

Проблема, которую вы получаете, заключается в том, что вы отправляете вызов http 1.1, и эта версия поддерживает разбиение больших частей данных. Ключа часть продукции вы получаете является:

Transfer-Encoding: фрагментированного

1ff8

и т.д. Вы, очевидно, не следует ожидать, что и вы не хотите, чтобы интерпретировать его - поэтому вы должны выдать запрос HTTP 1.0.

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