SpringBoot项目使用内置的Tomcat部署时,可根据需要定义相关的参数:
server:
tomcat:
accept-count: 80 #挂起的请求队列最大连接数,默认100
max-connections: 2000 #最大连接数,默认10000,tomcat内tcp连接池的大小
max-threads: 200 #最大线程数,默认200,超过加入等待队列,默认是100,当等待队列达到100后,直接拒绝此次请求返回connection refused。连接超时时间默认为20秒
min-spare-threads: 5 #最小工作线程数
connection-timeout: 60000 #server端的socket超时间,默认60s
accesslog:
enabled: true #启动tomcat访问日志
这些参数在ServerProperties.Tomcat
类中体现:
maxThreads
:最大工作线程数
minSpareThreads
:最小工作线程数
maxHttpPostSize
:HTTP POST内容最大长度
internalProxies
:受信任IP校验正则表达式
protocolHeader
:协议头,通常设置为X-Forwarded-Proto
protocolHeaderHttpsValue
:协议头的内容,判断是否使用了SSL,默认值是https
portHeader
:用于覆盖原始端口值的HTTP头名称,默认为X-Forwarded-Port
redirectContextRoot
:对上下文根的请求是否应该通过附加/到路径来重定向
useRelativeRedirects
:设置通过调用sendRedirect生成的HTTP 1.1和后面的位置头是使用相对重定向还是使用绝对重定向
remoteIpHeader
:提取远程IP的HTTP头的名称。例如X-FORWARDED-FOR
maxConnections
:最大连接数,如果一旦连接数到达,剩下的连接将会保存到请求缓存队列里,也就是accept-count指定队列
maxHttpHeaderSize
:HTTP消息头的最大值(以字节为单位)
acceptCount
:当所有可能的请求处理线程都在使用时,传入连接请求的最大队列长度
静态内部类
Accesslog
:主要用于配置Tomcat访问日志的参数信息
enabled
:是否启用访问日志
pattern
:访问日志的格式化模式,默认为common
directory
:创建日志文件的目录。可以是绝对或相对于Tomcat的基目录,默认是logs
prefix
:日志文件名称前缀,默认access_log
suffix
:日志文件名称后缀,默认.log
rotate
:是否启用访问日志旋转,默认为true
renameOnRotate
:是否推迟将日期戳包含在文件名中
fileDateFormat
:日志文件名称中的日期格式,默认为.yyyy-MM-dd。
requestAttributesEnabled
:为请求使用的IP地址、主机名、协议和端口设置请求属性
buffered
:是否缓冲输出,使其只定期刷新,默认为true