这是server.xml中的连接器:
src
此连接器的目标是使用HTTP2和APR以及HTTPS加速。
我们使用操作系统包tomcat-native安装了tomcat native。
启动时记录输出:
信息[主要] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent已加载 基于APR的Apache Tomcat Native库[1.2.16]使用APR版本 [1.6.3]
信息[主要] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent APR 功能:IPv6 [true],sendfile [true],接受过滤器[false], 随机[true]。
信息[主要] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent APR / OpenSSL配置:useAprConnector [false],useOpenSSL [true]
一切看起来都不错,除了 useAprConnector [false]
APR实际上在做什么?
我在相关文档中找不到任何内容:
https://tomcat.apache.org/tomcat-8.0-doc/config/http.html#SSL_Support
答案 0 :(得分:2)
Tomcat 8.5中的当前默认值是使用带有OpenSSL的Java NIO连接器作为加密引擎。仍需要libtcnative
,这需要libapr
,但“APR连接器”本身未被使用。
这意味着Tomcat正在使用带有OpenSSL引擎的纯Java连接器进行加密。您可以获得OpenSSL速度的优势,而不会出现APR连接器本身的一些缺点。
IMO这是您可以使用的最佳配置选项,因此除非您有明确的理由明确使用APR连接器,否则应将其保留。
如果您真的想使用APR连接器,则需要设置useAprConnector
attribute on your AprLifecycleListener
to true
。