Disable image-serve MultiViews

The MultiViews configuration for manifests is causing the wrong
manifest data being returned for some tags.  This change removes the
MultiViews configuration and moves the configuration we used to put into
an .htaccess file into the image serve apache configuration.  The
manifest requests should no longer trigger the .htaccess configuration
but the .htaccess for the actual metadata file should still be returned
with this change.

Change-Id: Ifd86b50e308bca0b8fd4ddb870b289dde8dbe046
Closes-Bug: #1953198
(cherry picked from commit 419f3166a3)
This commit is contained in:
Alex Schultz 2021-12-03 13:15:56 -07:00
parent 617ca33f6a
commit 213ff80604
1 changed files with 19 additions and 0 deletions

View File

@ -22,6 +22,25 @@ Listen {{ tripleo_container_registry_port }}
Header set Docker-Distribution-Api-Version registry/2.0
</Directory>
# LP#1953198 / rhbz#2026654
<LocationMatch "^/v2/.*/.*/manifests/(?!sha256:).*$">
Options FollowSymLinks
AllowOverride None
AddHandler type-map .type-map
RewriteEngine On
ReWriteCond %{REQUEST_URI} !(\.json|\.type-map)$
RewriteRule ^(.*) $1.type-map [PT,L]
</LocationMatch>
<LocationMatch "^/v2/.*/manifests/(?!sha256:).*$">
Options FollowSymLinks
AllowOverride None
AddHandler type-map .type-map
RewriteEngine On
ReWriteCond %{REQUEST_URI} !(\.json|\.type-map)$
RewriteRule ^(.*) $1.type-map [PT,L]
</LocationMatch>
<LocationMatch "^/v2/.*/.*/blobs/sha256:.*$">
SetEnvIf Request_URI "sha256:(.*)$" digest=sha256:$1
Header set Docker-Content-Digest "%{digest}e"