简单:
与 Tomcat 7 服务器的任何类型的连接都会出现空白页面。日志记录如下,连接到 JSP 页面或我知道服务器中可用的单个 JPG 文件:
192.168.0.130 - - [23/Apr/2015:00:45:53 -0300] "GET / HTTP/1.0" 404 -
192.168.0.130 - - [23/Apr/2015:00:51:23 -0300] "GET / HTTP/1.0" 404 -
172.18.109.82 - - [23/Apr/2015:14:00:59 -0300] "GET /APPS/portal/index.jsp HTTP/1.1" 404 -
172.18.109.82 - - [23/Apr/2015:14:00:59 -0300] "GET /favicon.ico HTTP/1.1" 404 -
172.18.109.82 - - [23/Apr/2015:14:01:18 -0300] "GET /APPS/portal/index.jsp HTTP/1.1" 404 -
172.18.109.82 - - [23/Apr/2015:14:01:52 -0300] "GET /APPS/portal/index.jsp HTTP/1.1" 404 -
172.18.109.82 - - [23/Apr/2015:14:01:55 -0300] "GET / HTTP/1.1" 404 -
127.0.0.1 - - [23/Apr/2015:14:02:30 -0300] "GET /manager/html HTTP/1.1" 404 -
172.18.109.82 - - [23/Apr/2015:14:15:44 -0300] "GET /APPS/portal/imgs/main.jpg HTTP/1.1" 404 -
它是一个 Windows 2008 R2 服务器,它在端口 8088 上运行 .NET,在端口 80 上运行 Tomcat。
我尝试做的事情:
检查Tomcat里面的conf文件是否有改动。一切似乎都很正常。 server.xml 的 port 和 baseapp 都是正确的。
Windows 防火墙仍然具有正确的入站规则。我什至可以 ping 通 IP,并且内网 DNS 工作正常。
在 .NET 端口上运行的网站运行良好。问题仅出在 Tomcat 7 上。
如何进一步调试这种情况?
编辑:
只是添加我尝试考虑评论的其他内容:
禁用 .NET
检查 .NET 日志以检查它是否在窃取任何东西。
更改 Tomcat 端口
检查 Tomcat 日志以查看应用程序是否正常启动。
检查我是否有 ROOT webapp。
最佳答案
那些是Tomcat访问日志?如果是这样,则表示请求已到达 Tomcat,具有正确的 requestURI 行(您在日志中正确地看到它们,而不是垃圾),但 Tomcat 生成状态为 404 且大小为 0 ('-') 的响应。
404 错误的空白响应通常表示没有“ROOT”网络应用程序(也称为默认网络应用程序)正在运行。
当请求无法路由到 Web 应用程序时(没有部署匹配的 Web 应用程序,默认情况下也没有部署 ROOT 应用程序将其路由到那里),Tomcat 必须在早期阶段拒绝它。
当请求处理在早期阶段(在连接器中,在到达 servlet 引擎 ErrorReportValve 之前)中止时,Tomcat 会生成一个空响应,其中包含正确的 HTTP 错误代码、原因短语和 header ,但内容长度为零。
所以,
检查您的 Tomcat 启动日志,您的 Web 应用程序已成功启动。
确保您拥有 ROOT 网络应用程序。如果你有几个
<Host>
server.xml 中的元素——每个元素都有一个 ROOT Web 应用程序。有一个空的“webapps/ROOT”文件夹就可以解决这个问题。没有别的必要了。 (不需要有WEB-INF/web.xml文件,默认继承自global conf/web.xml)。
确保
<Engine>
的“defaultHost”属性server.xml
中的元素文件匹配现有<Host>
姓名。
关于tomcat - 我在 Tomcat 上的所有内容都出现连接超时,日志显示都是 404。我该如何调试它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29831419/