I enable in gitlab ce 10.1.4 (omnibus) Container registry.
Add external nginx conf.
Get https://git.XXX.com/web/repo/container_registry 500 error
In console: docker login git.XXX.com:5005 and output:
Warning: failed to get default registry endpoint from daemon (error during connect: Get http://%2F%2F.%2Fpipe%2Fdocker_engine/v1.27/info: open //./pipe/docker_engine: The system cannot find the file specified. In the default daemon configuration on Windows, the docker client must be run elevated to connect. This error may also indicate that the docker daemon is not running.). Using system default: https://index.docker.io/v1/
In nginx/error.log:
WARNING: Unexpected middleware set after the adapter. This won’t be supported from Faraday 1.0
In production.log:
Started GET “/web/repo/container_registry” for ip at 2017-11-21 20:35:50 +0300
Processing by Projects::Registry::RepositoriesController#index as HTML
Parameters: {“namespace_id”=>“web”, “project_id”=>“repo”}
Completed 500 Internal Server Error in 33ms (ActiveRecord: 2.0ms)Faraday::SSLError (SSL_connect returned=1 errno=0 state=SSLv2/v3 read server hello A: unknown protocol):
lib/container_registry/client.rb:19:inrepository_tags' app/models/container_repository.rb:36:in
manifest’
app/models/container_repository.rb:41:intags' app/models/container_repository.rb:53:in
has_tags?’
app/controllers/projects/registry/repositories_controller.rb:48:inblock (2 levels) in ensure_root_container_repository!' app/controllers/projects/registry/repositories_controller.rb:47:in
tap’
app/controllers/projects/registry/repositories_controller.rb:47:inblock in ensure_root_container_repository!' app/controllers/projects/registry/repositories_controller.rb:44:in
tap’
app/controllers/projects/registry/repositories_controller.rb:44:inensure_root_container_repository!' lib/gitlab/i18n.rb:47:in
with_locale’
lib/gitlab/i18n.rb:53:inwith_user_locale' app/controllers/application_controller.rb:337:in
set_locale’
lib/gitlab/middleware/multipart.rb:93:incall' lib/gitlab/request_profiler/middleware.rb:14:in
call’
lib/gitlab/middleware/go.rb:17:incall' lib/gitlab/etag_caching/middleware.rb:11:in
call’
External nginx.conf:
upstream gitlab-registry {
server localhost:5000 fail_timeout=0;
}server {
listen 5005 ssl http2;
server_name git.XXX.com;
ssl_certificate /etc/letsencrypt/live/git.XXX.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/git.XXX.com/privkey.pem;server_tokens off;
client_max_body_size 0;
chunked_transfer_encoding on;ssl_ciphers 'ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA:ECDHE-RSA-DES-CBC3-SHA:AES256-
ssl_protocols TLSv1.2 TLSv1.1 TLSv1;
ssl_prefer_server_ciphers on;
ssl_session_cache builtin:1000 shared:SSL:10m;
ssl_session_timeout 5m;access_log /var/log/gitlab/nginx/gitlab_registry_access.log;
error_log /var/log/gitlab/nginx/gitlab_registry_error.log;location / {
proxy_set_header Host $http_host; # required for docker client’s sake
proxy_set_header X-Real-IP $remote_addr; # pass on real client’s IP
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_read_timeout 900;proxy_pass http://gitlab-registry;
}
}
/etc/gitlab/gitlab.rb:
external_url ‘https://git.XXX.com’
gitlab_rails[‘internal_api_url’] = ‘https://git.XXX.com’registry_external_url ‘https://git.XXX.com:5005’
registry_nginx[‘ssl_certificate’] = “/etc/letsencrypt/live/git.XXX.com/fullchain.pem”
registry_nginx[‘ssl_certificate_key’] = “/etc/letsencrypt/live/git.XXX.com/privkey.pem”
gitlab_rails[‘registry_enabled’] = true
gitlab_rails[‘registry_api_url’] = “https://localhost:5000”
registry[‘enable’] = true
nginx[‘enable’] = false
Help me please!