Uploaded image for project: 'Bitbucket Server'
  1. Bitbucket Server
  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

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

                Dates

                Created:
                Updated:
                Resolved: