一、tomcat敏感信息屏蔽
tomcat的错误信息会吧一些敏感信息给暴露出来比如版本号。
解决方案
在tomcat的conf文件下配置server.xml的 < Host > 标签
<Valve className="org.apache.catalina.valves.ErrorReportValve" showReport="false" showServerInfo="false" />
配置说明
- showReport:如果发生错误用于返回错误页面的错误信息和状态码(默认true)
- showServerInfo:如果发生任何错误,用于在错误页面上显示当前服务器标志(默认true)
二、连接超时和最大连接数
在工作中有些特殊要求要设置连接的超时时间和最大连接数
解决方案
在tomcat的conf文件下配置server.xml的< Connector >标签
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" acceptCount="400" maxThreads="300" />
配置说明
- port:tomcat作为一个网络server端,它需要暴露一个socket端口来accept客户端的链接,可以通过port指定(默认端口8080).
- protocol: 使用的网络协议,表示tomcat使用何种方式来接受和处理client端请求,“HTTP/1.1"是默认值,等效于"org.apache.coyote.http11.Http11Protocol”;还有熟悉的"AJP/1.3";关于HTTP和AJP两种方式的区别和性能优劣可以参见其他【文档】
- connectionTimeout:当client与tomcat建立连接之后的超时时间时间单位为毫秒,-1值表示无限,server.xml默认为20秒
- acceptCount:当tomcat请求处理线程池中的所有线程都处于忙碌状态时,此时新建的链接将会被放入到pending队列,acceptCount即是此队列的容量,如果队列已满,此后所有的建立链接的请求(accept),都将被拒绝。默认为100。在高并发/短链接较多的环境中,可以适当增大此值;当长链接较多的场景中,可以将此值设置为0.
- maxThreads: 用于接收和处理client端请求的最大线程数,默认为100