Uploaded image for project: 'Artifactory Binary Repository'
  1. Artifactory Binary Repository
  2. RTFACT-14477

Artifactory 5.4+ tries to access its own server via http only

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: High
    • Resolution: Fixed
    • Affects Version/s: 4.12.2, 5.4.0, 5.4.1
    • Fix Version/s: 5.4.2
    • Component/s: Access Server
    • Labels:
      None

      Description

      Artifactory 5.4+ tries to access its own server via http only. This will fail if:

      1. Tomcat is configured to only serve HTTPS content
      2. Tomcat is configured to serve HTTP and HTTPS content on different ports

      This prevents Artifactory from starting up.

      Error

      2017-06-21 16:49:34,795 [art-init] [INFO ] (o.a.s.a.AccessServiceImpl:233) - Waiting for access server...
      2017-06-21 16:50:34,816 [art-init] [ERROR] (o.a.w.s.ArtifactoryContextConfigListener:97) - Application could not be initialized: Waiting for access server to respond timed-out after 60000 milliseconds.
      java.lang.reflect.InvocationTargetException: null
      

      or

      2018-03-27 19:22:47,267 bin [art-init] [ERROR] (o.a.w.s.ArtifactoryContextConfigListener:99) - Application could not be initialized: HTTP response status 302:Found
      java.lang.reflect.InvocationTargetException: null
      

      Workaround

      The property artifactory.access.client.serverUrl.override (in $ARTIFACTORY_HOME/etc/artifactory.system.properties of each node) can be set to override the access URL artifactory tries to contact. If using HTTPS (with a valid certificate that Artifactory itself recognizes), you would set it like this:

      artifactory.access.client.serverUrl.override=https://<VALID_URL>:<PORT>/access

      Another property that need to be added to the $ARTIFACTORY_HOME/etc/artifactory.system.properties is the following

      artifactory.access.server.bundled=true

      Specifically if the URL was node1 and the port was 8443, it would look like this:

      artifactory.access.client.serverUrl.override=https://node1:8443/access

      Alternatively, Tomcat can be set to use non-ssl (HTTP) and a reverse proxy on the same server could be used to handle the ssl traffic.

        Attachments

          Activity

            People

            • Assignee:
              yossis Yossi Shaul
              Reporter:
              arturoa Arturo Aparicio
              Assigned QA:
              Mor Iluz (Inactive)
            • Votes:
              0 Vote for this issue
              Watchers:
              8 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: