upstream docker-registry { server registry:5000; } server { listen 80; server_name registry.k8s-server; return 301 https://registry.k8s-server$request_uri; } server { listen 443 ssl http2; server_name registry.k8s-server; ssl_certificate /etc/nginx/ssl/fullchain.pem; ssl_certificate_key /etc/nginx/ssl/privkey.pem; error_log /var/log/nginx/error.log; access_log /var/log/nginx/access.log; location / { if ($http_user_agent ~ "^(docker\/1\.(3|4|5(?!\.[0-9]-dev))|Go ).*$" ) { return 404; } proxy_pass http://docker-registry; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_read_timeout 900; } }