0

我在 Tomcat 7(端口 8080)上部署了一个 Web 应用程序,并在其前面的 Linux 上部署了一个 Apache 服务器(端口 80)。在 8080 上访问应用程序时,一切正常。否则,在端口 80 上,应用程序的行为很奇怪:当我多次发出相同的请求(访问相同的链接)时,有时会返回内容类型为“application/octet-stream”的响应(将 jsp 页面翻译为 HTML) ,作为要下载的文件。

如果我用记事本打开下载的文件,开头有一堆无意义的字符,然后是响应头,然后是我的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 日志)。


我很感激任何帮助。

谢谢!

泰金。

4

3 回答 3

0

我发现了问题:Avast Antivirus(免费版)默默地弄乱了响应,这反过来又带来了另一个问题:为什么它在访问端口 80 的站点时认为它是威胁,但访问时却没有做任何事情Tomcat直接在8080端口上?

于 2013-04-30T07:10:21.870 回答
0

您遇到的问题是您正在发出 http 1.1 调用,并且该版本支持大块数据的分块。您获得的关键输出是:

传输编码:分块

1ff8

等等。您显然不期望也不想解释它 - 因此您应该发出 HTTP 1.0 请求。

于 2014-02-25T12:33:22.423 回答
0

我必须完全关闭 Avast 防火墙和大部分垃圾防护罩,否则页面不会加载或重新加载,并且小圆圈会一直转来转去,或者直到超时。

我发现是 Avast 通过关闭这该死的东西导致了我的问题。把它关掉,它就可以工作了。它干扰了我的javascript等。

我也无法在两个浏览器中登录我的网站。

我会使用 Linux 而不是 Windows 进行 Web 开发,但是我喜欢我的 Adob​​e Fireworks 和其他软件,而且我绝对必须有 IE 来测试网站。因此,为了开发和测试我的网站,我必须没有安全性。我不会再买avast了。

于 2013-08-01T20:10:17.760 回答