Tomcat Connector 配置详解

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"
/>

八、配置后如何生效?

  1. 修改 conf/server.xml
  2. 重启 Tomcat
  3. 访问对应端口测试

总结

  • Connector 配置文件:conf/server.xml
  • 核心用途:改端口、优化性能、配置 HTTPS、解决中文乱码
  • 生产环境必配:线程数、GZIP、UTF-8、HTTPS
  • 协议推荐:NIO 模型(高性能)
上一篇 RSR20-X ospf建立后路由不加表
下一篇 老旧教学设备专项维护解决方案