Why does docker stop working after its upgrade to Artifactory 4.4.0?

From Artifactory version 4.4.0, the X-Artifactory-Override-Base-Url became a mandatory header on a reverse proxy configuration for Docker repositories.

Without this header, Docker client commands such as login, push, and pull will fail to work.

For NGINX, this should be added:

proxy_set_header   X-Artifactory-Override-Base-Url $http_x_forwarded_proto://$host:$server_port/<public context>;

For example, 


proxy_set_header X-Artifactory-Override-Base-Url  $http_x_forwarded_proto://$host:$server_port

or


proxy_set_header X-Artifactory-Override-Base-Url  $http_x_forwarded_proto://$host:444/my-artifactory



For Apache, this should be added:

     

RequestHeader set X-Artifactory-Override-Base-Url %{my_scheme}e://<server name>/<public context>

   

For example   

   

RequestHeader set X-Artifactory-Override-Base-Url %{my_scheme}e://artifactory.com/artifactory

From Artifactory version 4.4.1, for backward compatibility on existing configurations, there will be a fallback on the code level in case this header is missing.

However, it is still best practice to set this header on the reversed proxy (for requests to be handled on the reversed proxy level) so it should not be removed.

More information can be found on the following wiki guide.