`

一次定位“应用无法访问”的过程总结

阅读更多
最近在预研产品的虚拟化部署,装了几次应用。今天装完以后发现无法访问,就定位了一下。虽然不复杂,还是记录一下:

jboss的版本是4.2.3,很老的版本,日志和目录结构不是很熟

1. 访问http://ip.193:port/xxx,失败,显示的是jboss没有启动的样子,而不是404,500什么的

2. 查看jboss/bin/nohup.out,看到有如下异常:
Caused by: java.rmi.UnknownHostException: Unknown host: xxx.site; nested exception is:
java.net.UnknownHostException: xxx.site

想到是hostname配置的问题,修改/etc/hosts

以上解决了jboss启动过程中,由于某个listener抛出异常,导致jboss未正常启动的问题

3. 再次访问http://ip.193:port/xxx,还是失败,仍然显示JBOSS未启动

4. 再次查看jboss/bin/nohup.out,看出JBOSS已经正常启动

5. 于是尝试访问http://ip.193:port/,不加应用路径,看到了jboss的首页,证实jboss已经启动

6. 打开fiddler2,尝试抓包,发现当访问http://ip.193:port/xxx时,会跳转到代理服务器http://ip.194:port/

7. 但是我没有安装代理服务器,所以在194:port端口上,没有应用响应HTTP请求,故失败

8. 在194上安装代理服务器,问题解决

jboss相关日志:

/opt/company/log,这是应用写的日志
/opt/company/product/jboss/server/default/log,这是jboss写的日志
/opt/company/product/jboss/bin/nohup.out,这是jboss的启动日志

为什么会直接跳转:

web app的web.xml中设置了一个/*的filter,其实是CAS的SSO filter,将所有的http request跳转到194上。所以加上应用路径就会触发跳转,造成失败;只用ip+port访问,可以看到jboss已经启动了

总结:

1、web容器本身的日志对于问题定位很重要,光靠应用本身的日志,有时候会遗漏重要信息,越烂的应用越是如此

2、判断jboss是否正常启动,可以用不加应用路径的方式,看看是否能访问到jboss的首页;也可以看jboss/bin/nohup.out文件

3、定位奇怪的web app问题时,抓包工具很好用。http watcher和fiddler2都不错
分享到:
评论

相关推荐

    HarmonyOS应用开发-网络访问出错记录.docx

    本文将针对HarmonyOS应用开发中常见的网络访问错误进行总结,并提供具体的解决方法。 #### 问题一:非加密的安全访问方式失败 **问题描述**: 在使用OKHttp3.0进行网络访问时,尝试采用非加密的安全访问方式(即不...

    sql存储过程学习资料--总结的很全的 暴经典的资料啊

    SQL存储过程是数据库管理系统中一组为了完成特定功能的SQL语句集合,它是预编译的,可以被多次调用,极大地提高了数据库应用系统的性能和效率。这篇学习资料全面且经典,涵盖了存储过程的基础概念、创建、执行、调试...

    Android GPS定位

    这意味着在首次启动应用时,需要触发一次完整的定位过程。 - **定位标志闪烁**:定位过程中,GPS标志会闪烁,表示正在尝试连接卫星。一旦停止闪烁,即表示已成功定位。 ##### 6. **数据发送至服务器** - **本地IP...

    查询访问URL地址所用的时间(可指定访问次数和间隔时间)

    在IT行业中,对URL(统一资源定位符)的访问时间进行测试是衡量网络性能和应用程序效率的重要手段。这个过程通常涉及到网络请求、响应时间和数据传输速率等关键指标。标题和描述提到的功能允许用户指定访问次数和...

    移动应用程序的安装与部署(PPT)

    这些工具生成的应用也需要遵循各自平台的安装流程,但开发过程更加便捷,一次编写,多平台运行。 五、企业级应用部署 对于企业内部应用,可能需要通过MDM(Mobile Device Management)工具进行部署,这些工具允许...

    存储空间与重定位、分区分页技术

    1. **静态重定位**:在程序装入内存时,由装入程序一次性完成逻辑地址到物理地址的转换。 2. **动态重定位**:在程序执行期间每次访问内存前进行重定位,通过硬件地址变换机构实现。 #### 三、存储管理基本技术 **...

    通讯录-快速定位

    1. 数据加载:为了避免一次性加载所有联系人导致性能问题,可以采用分页加载策略,仅加载当前视图所需的数据。 2. 列表复用:使用`convertView`机制,通过`getView()`方法复用列表项,降低内存消耗和渲染时间。 3. ...

    移动应用开发技巧以及入门教程知识点总结.docx

    - **统一代码**: 掌握React Native、Flutter等跨平台开发框架,实现一次编码多端运行,降低开发成本。 #### 三十二、云服务集成 - **云服务**: 对接阿里云、腾讯云、AWS等提供的云服务,如云存储、云函数等,增强...

    百度导航,地图,定位,全景图

    它能提供高精度的经纬度信息,支持单次定位和持续定位,适用于各种需要获取用户位置的应用场景,如社交、外卖、打车等。 最后,我们关注“百度全景图”。百度全景服务提供了丰富的街景图像,开发者可以通过集成全景...

    windows C++ 产生dump文件,定位代码内存错误非常有效

    在Windows平台上,C++开发过程中,遇到程序崩溃或内存错误时,通过生成dump文件是一种非常有效的调试手段。Dump文件包含了程序崩溃时刻的内存状态、线程信息、堆栈跟踪等关键数据,能帮助开发者准确地定位问题所在。...

    模拟设计物理文件的存储过程(连续文件、索引文件)

    例如,如果要读取一段连续的记录,只需一次磁盘寻道,然后连续读取数据。但其缺点是插入和删除操作可能涉及大量数据的移动,导致效率低下。 接着,我们来看看索引文件。索引文件是为了提高数据查询速度而引入的一种...

    一级计算机基础及MSoffice应用总结归纳重点汇总.pdf

    我国的第一台亿次巨型计算机“银河”则在1983年问世。计算机按规模可分为巨型机、大型机、小型机和微型机,各自在不同领域有特定应用。例如,巨型机主要用于战略武器、空间技术和天气预报等;大型机常见于大中企事业...

    SYBASE IQ存储过程学习笔记

    总结,SYBASE IQ的存储过程是数据库管理和应用开发中的重要组成部分,它们提供了灵活的数据处理能力,可以实现复杂业务逻辑,同时通过有效的权限管理确保数据安全。通过深入理解和熟练运用存储过程,开发者能够提高...

    Android GPS定位(获取经纬度)

    总结来说,Android获取GPS定位信息的过程涉及到LocationManager、LocationListener、权限管理和类的封装。正确使用这些组件和最佳实践,可以确保在满足功能需求的同时,提升应用程序的性能和用户体验。

    SQL存储过程.

    通过了解存储过程的基本概念、创建方法及使用方式,开发人员能够更好地利用这一特性来优化应用设计。在未来的学习中,我们将进一步探讨如何在.NET环境中使用存储过程,以及如何处理更复杂的业务逻辑。

    AppLauncher是一个轻量级的Android App的任务启动器.zip

    它不仅简化了用户对多个应用的访问过程,还为企业级别的快应用开发提供了便利。本文将深入探讨AppLauncher的工作原理、功能特性以及在快应用开发中的应用。 一、AppLauncher简介 AppLauncher的设计目标是提高用户...

    面向程序员的数据库访问优化原则

    - **方法**:合并多次查询为一次批量操作、使用存储过程等。 - **案例**:将多个小查询合并为一个复杂的查询语句,减少与数据库服务器的交互次数。 4. **减少服务器CPU开销(减少CPU及内存开销)** - **原理**:...

    一次脱PECompact 2.x - Jeremy Collake壳的记录.doc

    本文详细记录了一次针对PECompact 2.x壳的脱壳过程,从理论到实践,涵盖了ESP定律的应用、OllyDbg的使用技巧以及脱壳插件的辅助。通过这一过程,不仅揭示了脱壳技术的核心要点,也为逆向工程师提供了一套实用的操作...

Global site tag (gtag.js) - Google Analytics