0

0

Tomcat server.xml配置详解 Connector配置教程

月夜之吻

月夜之吻

发布时间:2026-01-20 00:43:30

|

631人浏览过

|

来源于php中文网

原创

Connector是Tomcat接收处理请求的核心组件,需正确配置port、protocol、redirectPort等属性;HTTPS需设scheme="https"和secure="true"并指定证书;调优参数包括maxThreads、URIEncoding="UTF-8"等;多Connector共存时注意端口规划与安全限制。

tomcat server.xml配置详解 connector配置教程

Tomcat 的 server.xml 中,Connector 是核心组件之一,它定义了 Tomcat 如何接收和处理客户端请求。配错 Connector 可能导致端口冲突、HTTPS 不生效、上传失败、中文乱码甚至服务无法启动。

Connector 基本结构与必填属性

每个 Connector 用一个 标签定义,嵌套在 内。最简 HTTP 配置如下:

redirectPort="8443" />

关键属性说明:

  • port:监听端口,必须唯一,不能被其他进程占用
  • protocol:协议类型,常用值为 HTTP/1.1(使用默认 HTTP 连接器)或 org.apache.coyote.http11.Http11Nio2Protocol(启用 NIO2,支持高并发)
  • connectionTimeout:连接建立后等待首个请求的超时时间(毫秒),设为 0 表示永不超时(不推荐)
  • redirectPort:当请求需要重定向到 HTTPS 时跳转的目标端口(如配置了 security-constraint 要求 CONFIDENTIAL)

启用 HTTPS 的 Connector 配置

要支持 HTTPS,需添加一个基于 SSL/TLS 的 Connector,并指定证书路径。示例(JDK 9+ 推荐使用 PEM 格式,旧版常用 JKS):

apache.coyote.http11.Http11Nio2Protocol"
    maxThreads="200" scheme="https" secure="true"
    keystoreFile="/path/to/keystore.p12" keystoreType="PKCS12"
    keystorePass="changeit" keyAlias="tomcat" />

注意要点:

  • scheme="https"secure="true" 必须同时设置,否则 Servlet 中 request.isSecure() 返回 false
  • keystoreFile 路径建议用绝对路径;若用相对路径,以 Tomcat 的 bin 目录为基准
  • 使用 PKCS12(.p12/.pfx)比 JKS 更安全且通用;如用 JKS,设 keystoreType="JKS"
  • keyAlias 是密钥对别名,生成证书时指定,可通过 keytool -list -v -keystore xxx 查看

常见调优与问题修复参数

生产环境常需调整以下参数来适配业务场景:

  • maxThreads:最大工作线程数,默认 200;高并发可设为 500–1000,但需配合系统资源评估
  • minSpareThreads:最小空闲线程,默认 10;可设为 25–50 减少冷启动延迟
  • acceptCount:等待队列长度,默认 100;当所有线程忙时,新连接进入该队列;设太大易积压,太小会直接拒绝
  • URIEncoding="UTF-8":强制 URL 解码为 UTF-8,解决 GET 请求中文参数乱码(必须加)
  • useBodyEncodingForURI="true":让 URI 解码也参考请求体编码(如 POST 表单中指定了 charset),与上一项配合更稳妥
  • maxPostSize:限制 POST 数据大小(字节),默认 2MB;上传大文件需调大,设为 -1 表示不限制(有风险)
  • disableUploadTimeout:上传大文件时是否禁用超时,默认 false;建议设为 true 避免上传中途断连

多个 Connector 共存与端口规划

一个 Service 下可配置多个 Connector,例如同时开放 HTTP(自动跳转 HTTPS)、HTTPS、AJP(供 Apache httpd 反向代理):



注意事项:

  • HTTP 和 HTTPS 的 redirectPort 应指向对方端口,确保安全约束触发时能正确跳转
  • AJP Connector 默认不暴露公网,仅限内网反向代理使用,不要开放到外网
  • 修改端口后务必检查防火墙云服务器安全组是否放行
  • 重启 Tomcat 才能使配置生效;启动失败时查看 logs/catalina.out 定位 Connector 相关错误(如证书路径错、端口被占)

相关专题

更多
如何配置Tomcat环境变量
如何配置Tomcat环境变量

配置Tomcat环境变量需要在系统中添加CATALINA_HOME变量,并将Tomcat的安装路径添加到PATH变量中。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

113

2023.10.26

idea如何集成Tomcat
idea如何集成Tomcat

idea集成Tomcat的步骤:1、添加Tomcat服务器配置;2、配置项目部署;3、运行Tomcat服务器;4、访问项目;5、注意事项;6、关闭Tomcat服务器。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

167

2024.02.23

怎么查看Tomcat源代码
怎么查看Tomcat源代码

查看Tomcat源代码的步骤:1、下载Tomcat源代码;2、在IDEA中导入Tomcat源代码;3、查看源代码;4、理解Tomcat的工作原理;5、参与社区和贡献;6、注意事项;7、持续学习和更新;8、使用工具和插件。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

97

2024.02.23

常见的tomcat漏洞有哪些
常见的tomcat漏洞有哪些

常见的tomcat漏洞有:1、跨站脚本攻击;2、跨站请求伪造;3、目录遍历漏洞;4、缓冲区溢出漏洞;5、配置漏洞;6、第三方组件漏洞。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

160

2024.02.23

tomcat日志乱码怎么解决
tomcat日志乱码怎么解决

tomcat日志乱码的解决办法:1、修改tomcat的日志编码设置;2、检查ide的编码设置;3、检查操作系统的编码设置;4、使用过滤器处理日志;5、检查外部系统的编码设置;6、检查文件编码方式等等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

150

2024.02.23

weblogic和tomcat有哪些区别
weblogic和tomcat有哪些区别

weblogic和tomcat的区别:1、功能;2、性能;3、规模;4、价格;5、安全性;6、配置和管理;7、社区支持;8、集成能力;9、升级和更新;10、可靠性。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

198

2024.02.23

tomcat和nginx有哪些区别
tomcat和nginx有哪些区别

tomcat和nginx的区别:1、应用领域;2、性能;3、功能;4、配置;5、安全性;6、扩展性;7、部署复杂性;8、社区支持;9、成本;10、日志管理。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

227

2024.02.23

tomcat启动闪退怎么解决
tomcat启动闪退怎么解决

tomcat启动闪退的解决办法:1、检查java环境;2、检查环境变量配置;3、检查端口被占用;4、检查配置文件编码;5、检查启动时需要的配置文件;6、检查相关文件是否丢失;7、检查防火墙和杀毒软件设置。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

158

2024.02.23

PS使用蒙版相关教程
PS使用蒙版相关教程

本专题整合了ps使用蒙版相关教程,阅读专题下面的文章了解更多详细内容。

23

2026.01.19

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
RunnerGo从入门到精通
RunnerGo从入门到精通

共22课时 | 1.7万人学习

尚学堂Mahout视频教程
尚学堂Mahout视频教程

共18课时 | 3.2万人学习

Linux优化视频教程
Linux优化视频教程

共14课时 | 3.1万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号