Connector(连接器)是 Tomcat 处理网络请求的核心组件,负责监听端口、处理协议、管理连接与线程。配置文件是
conf/server.xml,所有配置都在 <Connector> 标签中完成。我会用最实用、最常用的方式教你配置,直接复制修改就能用。
一、最简默认配置(开箱即用)
这是 Tomcat 最基础的 HTTP 连接器:
xml
<!-- 监听 8080 端口,HTTP/1.1 协议 -->
<Connector
port="8080"
protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"
/>
核心基础参数
表格
| 参数 | 作用 |
|---|---|
port |
监听端口(8080=HTTP,80 = 网页默认,443=HTTPS) |
protocol |
协议,默认 HTTP/1.1(自动使用 NIO 模型) |
connectionTimeout |
连接超时时间(毫秒),20000=20 秒 |
redirectPort |
非 HTTPS 请求被重定向到 HTTPS 端口 |
二、最常用:性能优化配置(生产环境必用)
这是企业级标准配置,直接替换即可:
xml
<Connector
port="8080"
protocol="org.apache.coyote.http11.Http11NioProtocol"
maxThreads="200" <!-- 最大工作线程数 -->
minSpareThreads="50" <!-- 最小空闲线程数 -->
acceptCount="100" <!-- 等待队列长度 -->
maxConnections="10000" <!-- 最大并发连接数 -->
connectionTimeout="20000"
keepAliveTimeout="15000" <!-- 长连接超时 -->
maxKeepAliveRequests="100"<!-- 长连接最大请求数 -->
compression="on" <!-- 开启GZIP压缩 -->
compressionMinSize="2048"
redirectPort="8443"
/>
关键性能参数解释
maxThreads:最大并发处理线程,默认 200 足够大多数项目acceptCount:请求排队长度,线程满了就排队maxConnections:最大同时连接数(NIO 模型可支持上万)compression="on":开启 GZIP,网页、JS、CSS 压缩 50%~70%
三、配置 HTTPS(SSL/TLS 加密)
让 Tomcat 支持 https:// 访问,这是最常用的安全配置:
1. 生成证书(测试用)
bash
运行
keytool -genkey -alias tomcat -keyalg RSA -keystore tomcat.keystore
2. HTTPS 连接器配置
xml
<Connector
port="443"
protocol="org.apache.coyote.http11.Http11NioProtocol"
maxThreads="200"
SSLEnabled="true"
scheme="https"
secure="true"
keystoreFile="conf/tomcat.keystore" <!-- 证书路径 -->
keystorePass="你的密码" <!-- 证书密码 -->
sslProtocol="TLS"
/>
配置后直接访问:
plaintext
https://localhost
四、配置 AJP 连接器(配合 Nginx/Apache)
如果前端用 Nginx 反向代理,推荐用 AJP 协议,性能更高:
xml
<Connector
port="8009"
protocol="AJP/1.3"
redirectPort="8443"
/>
Nginx 可以通过 AJP 转发请求给 Tomcat,效率比 HTTP 更高。
五、修改监听地址(只允许本机访问)
如果只想让本地程序访问,不让外部访问:
xml
<Connector
port="8080"
address="127.0.0.1" <!-- 只监听本机 -->
/>
六、配置 URI 编码(解决中文乱码)
解决 URL 中文参数乱码,必须加:
xml
<Connector
...
URIEncoding="UTF-8"
useBodyEncodingForURI="true"
/>
七、完整推荐配置(直接复制使用)
xml
<!-- HTTP 连接器 -->
<Connector
port="8080"
protocol="org.apache.coyote.http11.Http11NioProtocol"
maxThreads="200"
minSpareThreads="50"
acceptCount="100"
maxConnections="10000"
connectionTimeout="20000"
keepAliveTimeout="15000"
maxKeepAliveRequests="100"
compression="on"
compressionMinSize="2048"
URIEncoding="UTF-8"
redirectPort="8443"
/>
<!-- HTTPS 连接器 -->
<Connector
port="443"
protocol="org.apache.coyote.http11.Http11NioProtocol"
maxThreads="200"
SSLEnabled="true"
scheme="https"
secure="true"
keystoreFile="conf/tomcat.keystore"
keystorePass="123456"
sslProtocol="TLS"
/>
<!-- AJP 连接器 -->
<Connector
port="8009"
protocol="AJP/1.3"
redirectPort="8443"
/>
八、配置后如何生效?
- 修改
conf/server.xml - 重启 Tomcat
- 访问对应端口测试
总结
- Connector 配置文件:
conf/server.xml - 核心用途:改端口、优化性能、配置 HTTPS、解决中文乱码
- 生产环境必配:线程数、GZIP、UTF-8、HTTPS
- 协议推荐:NIO 模型(高性能)