将 tomcat 设置为生产模式

f.k*_*sis 6 security tomcat

我在 AWS 上运行 Tomcat。问题在于,当请求因异常而崩溃时,tomcat 不仅会发送 503,还会在 html 中发送异常堆栈跟踪,将我的源代码暴露给不需要查看它的查看器。

如何禁用此功能?

Esa*_*nen 9

错误页面由简单的错误处理程序Error Report Valve 生成。您可以showReport通过将这些行添加到您server.xmlHost部分来隐藏堆栈跟踪 ( ) 以及服务器信息:

<Valve className="org.apache.catalina.valves.ErrorReportValve"
    showReport="false" 
    showServerInfo="false" />  
Run Code Online (Sandbox Code Playgroud)

另一种解决方案是为每个 HTTP 错误代码使用自定义的、用户友好的错误页面

<error-page>
    <error-code>500</error-code>
    <location>/error500.jsp</location>
</error-page>
Run Code Online (Sandbox Code Playgroud)

以及每个不同的Throwable

<error-page>
    <exception-type>java.lang.Exception</exception-type>
    <location>/error-Exception.jsp</location>
</error-page>

<error-page>
    <exception-type>java.sql.SQLException</exception-type>
    <location>/error-SQLException.jsp</location>
</error-page>
Run Code Online (Sandbox Code Playgroud)

  • `server.xml` 最初并不包括所有可能的执行器、连接器、容器、组件、元素及其可能的组合来自 [Tomcat 配置参考](https://tomcat.apache.org/tomcat-7.0-doc/配置/)。 (2认同)