Hi ,
I am trying to enable SSL on AJP/1.3 Connector in tomcat 9.0.54.0
I am getting error:
         No SSLHostConfig element was found with the hostName [
mymachine.mydomain.com] to match the defaultSSLHostConfigName for the
connector [ajp-nio-0.0.0.0-8009]

The full error is:
01-Nov-2021 19:04:49.774 SEVERE [main]
org.apache.catalina.util.LifecycleBase.handleSubClassException Failed to
initialize component [Connector[AJP/1.3-8009]]
        org.apache.catalina.LifecycleException: Protocol handler
initialization failed
                at
org.apache.catalina.connector.Connector.initInternal(Connector.java:1049)
                at
org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:136)
                at
org.apache.catalina.core.StandardService.initInternal(StandardService.java:556)
                at
org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:136)
                at
org.apache.catalina.core.StandardServer.initInternal(StandardServer.java:1042)
                at
org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:136)
                at
org.apache.catalina.startup.Catalina.load(Catalina.java:724)
                at
org.apache.catalina.startup.Catalina.load(Catalina.java:746)
                at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
Method)
                at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
                at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
                at java.lang.reflect.Method.invoke(Method.java:497)
                at
org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:305)
                at
org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:475)
        Caused by: java.lang.IllegalArgumentException: No SSLHostConfig
element was found with the hostName [mymachine.mydomain.com] to match the
defaultSSLHostConfigName for the connector [ajp-nio-0.0.0.0-8009]
                at
org.apache.tomcat.util.net.AbstractJsseEndpoint.initialiseSsl(AbstractJsseEndpoint.java:76)
                at
org.apache.tomcat.util.net.NioEndpoint.bind(NioEndpoint.java:231)
                at
org.apache.tomcat.util.net.AbstractEndpoint.bindWithCleanup(AbstractEndpoint.java:1208)
                at
org.apache.tomcat.util.net.AbstractEndpoint.init(AbstractEndpoint.java:1221)
                at
org.apache.coyote.AbstractProtocol.init(AbstractProtocol.java:603)
                at
org.apache.catalina.connector.Connector.initInternal(Connector.java:1046)

Due to some reason the AJP connector is not picking up SSLHostConfig
defined inside it. The configuration snippet is provided below:

    <Connector SSLEnabled="true" secure="true" address="0.0.0.0"
port="8009" protocol="AJP/1.3" secretRequired="false" redirectPort="8443"
          maxPostSize="-1" connectionUploadTimeout="36000000"
disableUploadTimeout="false" URIEncoding="utf-8"  maxThreads="500"
acceptCount="200"
          enableLookups="false"  minSpareThreads="20"
connectionTimeout="60000"

compressableMimeType="text/html,text/xml,text/plain,text/css,application/x-javascript,text/vnd.wap.wml,text/vnd.wap.wmlscript,application/xhtml+xml,application/xml-dtd,application/xslt+xml,application/json"
compression="on" xpoweredby="false"
          defaultSSLHostConfigName="mymachine.mydomain.com"
        >
            <SSLHostConfig hostName="mymachine.mydomain.com">
                <Certificate certificateFile="/home/tomcat/conf/server.crt"
certificateKeyFile="/home/tomcat/conf/server.key"
certificateChainFile="/home/tomcat/conf/server-ca.crt" />
            </SSLHostConfig>
    </Connector>

The SSLHostConfig works fine with HTTP/1.1 but not with AJP/1.3 Connector.

Any help is appreciated.

Thanks,
Jasvant

Reply via email to