Does container registry work with Apache or only nginx?

What additional configuration is required to support container registry with Apache?

I took a look at the nginx config for the registry and it looks like all it does is:

  1. redirect all non-SSL/TLS HTTP traffic on port 80 to HTTPS on port 443
  2. proxy all https requests on port 443 to http://localhost:5000

So if you know how to set up virtual hosts in apache and how to set up certificates all you have to add is:

  1. Redirect / https://registry.gitlab.example.com/ into the section of the non-SSL/TLS HTTP-Host on port 80
  2. ProxyPass "/" "http://localhost:5000/" to the section of the SSL/TLS HTTPS-Host on port 443

Hi Thanks very much for the reply.

With my limited knowledge of Apache, I think they way things are currently configured - specific urls are redirected to gitlab-workhorse and the rest default to unicorn.

Another rewrite statement would need to be coded and processed before the catch all unicorn processing to redirect container requests to port 5000 but I am not sure what that url to trigger on would look like.

From what I can tell nginx opens up a specific port (4567) and redirects container requests to port 5000. At least that is what the container registry setup documentation suggests you do. https://urv-git.canlab.ibm.com:8082/help/administration/container_registry.md#configure-container-registry-under-an-existing-gitlab-domain

I am still stuck on this one.

We get " Pushing [==================================================>] 3.584 kB
malformed HTTP response “\x80\x03\x00\x00\x01”

How do we tell docker which certificate and key to use

nginx uses

registry_nginx[‘ssl_certificate’] = “/path/to/certificate.pem”
registry_nginx[‘ssl_certificate_key’] = “/path/to/certificate.key”