代码之家  ›  专栏  ›  技术社区  ›  atlas_scoffed

带APR的Tomcat仍然说aprConnector是假的

  •  5
  • atlas_scoffed  · 技术社区  · 8 年前

    这是服务器中的连接器。xml:

    <Connector port="8443" protocol="org.apache.coyote.http11.Http11AprProtocol"
                   maxThreads="150"
                   SSLEnabled="true"
                   scheme="https"
                   compression="off"
                   connectionTimeout="1190"
                   address="0.0.0.0"
                   >
            <UpgradeProtocol className="org.apache.coyote.http2.Http2Protocol" />
            <SSLHostConfig>
                <Certificate certificateKeyFile="/etc/ssl/certs/private.key"
                             certificateFile="/etc/ssl/certs/public.pem"
                              />
            </SSLHostConfig>
    </Connector>
    

    此连接器的目标是通过HTTP2和APR以及HTTPS提高速度。

    我们使用操作系统包tomcat native安装了tomcat native。

    启动时记录输出:

    信息[主] 组织。阿帕奇。卡特琳娜。果心APRIFECYCLELISTENER。生命周期事件已加载 使用APR版本的基于APR的Apache Tomcat本机库[1.2.16] [1.6.3]。

    信息[主] 组织。阿帕奇。卡特琳娜。果心APRIFECYCLELISTENER。生命周期事件4月 功能:IPv6[真]、sendfile[真]、accept filters[假], 随机[真]。

    信息[主] 组织。阿帕奇。卡特琳娜。果心APRIFECYCLELISTENER。生命周期事件 APR/OpenSSL配置:useAprConnector[假]、useOpenSSL[真]

    除了 useAprConnector[错误]

    那么APR真的在做什么?

    我在相关文档中找不到任何内容:

    https://tomcat.apache.org/tomcat-8.0-doc/config/http.html#SSL_Support

    https://tomcat.apache.org/tomcat-8.0-doc/apr.html

    1 回复  |  直到 8 年前
        1
  •  8
  •   Christopher Schultz    8 年前

    Tomcat 8.5中当前的默认设置是使用Java NIO连接器和OpenSSL作为加密引擎。 libtcnative 仍然需要,这需要 libapr ,但未使用“APR连接器”本身。

    这意味着Tomcat使用纯Java连接器和OpenSSL引擎进行加密。您可以享受OpenSSL速度带来的好处,而不必考虑APR连接器本身的一些缺点。

    在我看来,这是您可用的最佳配置选项,因此您应该保留它,除非您有充分的理由明确使用APR连接器。

    如果确实要使用APR连接器,则需要设置 useAprConnector attribute on your AprLifecycleListener to true

    推荐文章
    serge  ·  APR错误:-730054
    9 年前