开发者社区 问答 正文

家里google游览器登陆不了,apache。。。。。



HTTP Status 500 -



type Exception report
message
description The server encountered an internal error () that prevented it from fulfilling this request.
exceptionjava.lang.IllegalStateException: the session is invalid,the maxSurvivalTime:4320com.alibaba.roma.web.filter.HttpSessionImpl.<init>(HttpSessionImpl.java:97)com.alibaba.roma.web.filter.wrapper.RequestWrapper.getSession(RequestWrapper.java:82)javax.servlet.http.HttpServletRequestWrapper.getSession(HttpServletRequestWrapper.java:215)org.apache.velocity.tools.view.context.ChainedContext.<init>(ChainedContext.java:105)org.springframework.web.servlet.view.velocity.VelocityToolboxView.createVelocityContext(VelocityToolboxView.java:107)com.alibaba.roma.web.view.velocity.VelocityView.createVelocityContext(VelocityView.java:153)org.springframework.web.servlet.view.velocity.VelocityView.renderMergedTemplateModel(VelocityView.java:316)org.springframework.web.servlet.view.AbstractTemplateView.renderMergedOutputModel(AbstractTemplateView.java:174)org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:257)org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1183)com.alibaba.roma.web.servlet.RomaDispatcherServlet.render(RomaDispatcherServlet.java:460)com.alibaba.roma.web.servlet.RomaDispatcherServlet.try2Render(RomaDispatcherServlet.java:378)com.alibaba.roma.web.servlet.RomaDispatcherServlet.try2Render(RomaDispatcherServlet.java:395)com.alibaba.roma.web.servlet.RomaDispatcherServlet.doDispatch(RomaDispatcherServlet.java:321)org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:807)org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:571)org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:501)javax.servlet.http.HttpServlet.service(HttpServlet.java:697)com.alibaba.roma.web.servlet.RomaDispatcherServlet.service(RomaDispatcherServlet.java:199)javax.servlet.http.HttpServlet.service(HttpServlet.java:810)com.alibaba.alimail.frontend.filters.UserAuthenticationCheckFilter.doFilter(UserAuthenticationCheckFilter.java:168)com.alibaba.roma.web.filter.GlobalFilterChain.doFilter(GlobalFilterChain.java:51)com.alibaba.alimail.frontend.filters.RequestWorkFilter.doFilter(RequestWorkFilter.java:50)com.alibaba.roma.web.filter.GlobalFilterChain.doFilter(GlobalFilterChain.java:51)com.alibaba.roma.security.web.RomaSecurityFilterChain$1.doFilter(RomaSecurityFilterChain.java:104)com.alibaba.roma.security.web.token.SecurityTokenListPersistenceFilter.doFilterHttp(SecurityTokenListPersistenceFilter.java:53)com.alibaba.roma.security.web.RomaSecurityFilter.doFilter(RomaSecurityFilter.java:60)com.alibaba.roma.security.web.RomaSecurityFilterChain$1.doFilter(RomaSecurityFilterChain.java:115)com.alibaba.roma.web.filter.rewrite.wrapper.UrlRewriteFilter.doFilterHttp(UrlRewriteFilter.java:62)com.alibaba.roma.web.filter.rewrite.wrapper.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:356)com.alibaba.roma.security.web.RomaSecurityFilterChain$1.doFilter(RomaSecurityFilterChain.java:115)com.alibaba.roma.security.web.wrapper.SecurityResponseWrapperFilter.doFilterHttp(SecurityResponseWrapperFilter.java:54)com.alibaba.roma.security.web.RomaSecurityFilter.doFilter(RomaSecurityFilter.java:60)com.alibaba.roma.security.web.RomaSecurityFilterChain$1.doFilter(RomaSecurityFilterChain.java:115)com.alibaba.roma.security.web.RomaSecurityFilterChain.doFilter(RomaSecurityFilterChain.java:119)com.alibaba.roma.web.filter.GlobalFilterChain.doFilter(GlobalFilterChain.java:51)com.alibaba.roma.web.filter.rewrite.wrapper.UrlRewriteFilter.doFilterHttp(UrlRewriteFilter.java:69)com.alibaba.roma.web.filter.rewrite.wrapper.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:356)com.alibaba.roma.web.filter.GlobalFilterChain.doFilter(GlobalFilterChain.java:51)com.alibaba.roma.web.filter.WrapperFilter.doFilter(WrapperFilter.java:58)com.alibaba.roma.web.filter.GlobalFilterChain.doFilter(GlobalFilterChain.java:51)com.alibaba.roma.security.web.wrapper.SecurityResponseWrapperFilter.doFilterHttp(SecurityResponseWrapperFilter.java:54)com.alibaba.roma.security.web.RomaSecurityFilter.doFilter(RomaSecurityFilter.java:60)com.alibaba.roma.web.filter.GlobalFilterChain.doFilter(GlobalFilterChain.java:51)com.alibaba.roma.security.web.log.AbstractMDCInitFilter.doFilterHttp(AbstractMDCInitFilter.java:59)com.alibaba.roma.security.web.RomaSecurityFilter.doFilter(RomaSecurityFilter.java:60)com.alibaba.roma.web.filter.GlobalFilterChain.doFilter(GlobalFilterChain.java:51)com.alibaba.roma.web.filter.RomaGlobalFilter.doFilter(RomaGlobalFilter.java:80)com.alibaba.alimail.frontend.filters.HandleExceptionFilter.doFilter(HandleExceptionFilter.java:59)org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)

note The full stack trace of the root cause is available in the Apache Tomcat/5.5.20 logs.


Apache Tomcat/5.5.20

展开
收起
mossad 2013-08-27 23:32:13 8414 分享 版权
阿里云 AI 助理回答

遇到HTTP Status 500错误,通常意味着服务器遇到了一个未预期的条件,阻止了它完成对请求的处理。从您提供的错误信息来看,问题出在会话(session)的有效性上,具体是说会话超过了最大生存时间(maxSurvivalTime:4320)。这可能是由于应用程序中的某个配置或代码逻辑导致会话过早失效。

针对这个问题,您可以尝试以下几个解决步骤:

  1. 检查Session配置:首先确认应用中关于会话超时的设置是否合理。在Java Web应用中,会话超时时间通常是通过web.xml文件中的<session-config>标签来设置的,例如:

    <session-config>
       <session-timeout>30</session-timeout> <!-- 单位为分钟 -->
    </session-config>
    

    确保这个值与您的业务需求相匹配,并且没有被其他代码动态修改为一个不合理的短时间。

  2. 查看应用日志:根据错误提示,完整的堆栈跟踪可以在Apache Tomcat的日志文件中找到。通常这些日志位于Tomcat安装目录下的logs文件夹内,如catalina.out或特定日期的日志文件。查看这些日志可以帮助您更详细地了解错误发生的具体上下文和原因。

  3. 检查过滤器和拦截器:错误信息中提到了多个自定义过滤器(Filter),比如UserAuthenticationCheckFilter, RequestWorkFilter等,这些过滤器可能在处理请求过程中影响了会话状态。检查这些过滤器的实现逻辑,确保它们正确处理了会话,并没有意外地使会话失效。

  4. Spring Security或Roma Security相关配置:如果您的应用使用了Spring Security或阿里巴巴的Roma Security框架,检查相关的安全配置是否正确设置了会话管理策略,特别是与token验证、会话持久化相关的部分。

  5. 代码审查:特别注意提到的异常类com.alibaba.roma.web.filter.HttpSessionImpl以及调用链路,看看是否有误操作导致会话被提前标记为无效。

  6. 资源与环境检查:有时候,资源限制(如内存不足)或Tomcat本身的配置问题也可能导致这类错误。确保您的服务器资源充足,且Tomcat配置正确无误。

  7. 升级组件:考虑到您使用的Tomcat版本是5.5.20,这是一个非常旧的版本,可能存在已知的安全漏洞和稳定性问题。考虑升级到较新的Tomcat版本,同时也要检查并更新其他依赖库,以排除因软件版本老旧导致的问题。

通过上述步骤,您应该能够定位并解决HTTP 500错误。如果问题依然存在,可能需要更深入地分析应用代码和配置细节。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答
问答分类:
问答地址: