Uploaded image for project: 'Bitbucket Data Center'
  1. Bitbucket Data Center
  2. BSERV-12266

Fails to start with error: The AJP Connector is configured with secretRequired="true" but the secret attribute is either null or "". This combination is not valid.

XMLWordPrintable

      Issue Summary

      In Bitbucket Server 7.1.0 Apache Tomcat was upgraded to 9.0.31 which includes a breaking change with respect to the configuration of secrets and the AJP connector.
      https://github.com/apache/tomcat/commit/9ac90532e9a7d239f90952edb229b07c80a9a3eb

      Steps to Reproduce

      Configure Bitbucket Server 7.1.0 with an AJP connector:

      server.additional-connector.1.connector-protocol=AJP/1.3
      server.additional-connector.1.port=7991

      Expected Results

      The application starts correctly when an AJP connector is configured.

      Actual Results

      The application fails to start, with error:

      2020-03-27 18:22:09,417 ERROR [main]  o.apache.catalina.util.LifecycleBase Failed to start component [Connector[AJP/1.3-7991]]2020-03-27 18:22:09,417 ERROR [main]  o.apache.catalina.util.LifecycleBase Failed to start component [Connector[AJP/1.3-7991]]org.apache.catalina.LifecycleException: Protocol handler start failed at org.apache.catalina.connector.Connector.startInternal(Connector.java:1038) at 
      org.springframework.boot.web.embedded.tomcat.TomcatWebServer.addPreviouslyRemovedConnectors(TomcatWebServer.java:278) at 
      org.springframework.boot.web.embedded.tomcat.TomcatWebServer.start(TomcatWebServer.java:197) at 
      org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.startWebServer(ServletWebServerApplicationContext.java:297) at 
      org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.finishRefresh(ServletWebServerApplicationContext.java:163) at 
      org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:553) at 
      org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:141) at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:747) at 
      org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:397) at org.springframework.boot.SpringApplication.run(SpringApplication.java:315) at 
      com.atlassian.bitbucket.internal.boot.BitbucketServerApplication.start(BitbucketServerApplication.java:270) at com.atlassian.bitbucket.internal.boot.BitbucketServerApplication.main(BitbucketServerApplication.java:87) ... 2 frames trimmedCaused by: java.lang.IllegalArgumentException: The AJP Connector is configured with secretRequired="true" but the secret attribute is either null or "". This combination is not valid. at 
      org.apache.coyote.ajp.AbstractAjpProtocol.start(AbstractAjpProtocol.java:264) ... 12 common frames omitted
      

      Workaround

      Currently there is no known workaround for this behaviour. A workaround will be added here when available

            behumphreys Ben Humphreys
            behumphreys Ben Humphreys
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: