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

Details

    Description

      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

      Attachments

        Issue Links

          Activity

            People

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

              Dates

                Created:
                Updated:
                Resolved: