I am currently trying to host nexus as a private registry for docker images within my organisation . My nginx configuration are as below .
user nginx;
worker_processes 1;
error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
sendfile on;
#tcp_nopush on;
keepalive_timeout 65;
#gzip on;
server {
listen 6666; ### Docker Hosted Repo HTTPS port
server_name server408.int.org.com; ### Nexus Server
keepalive_timeout 60;
ssl on;
ssl_certificate /etc/ssl/certs/clsanexus.crt;
ssl_certificate_key /etc/ssl/certs/clsanexus.key;
ssl_ciphers HIGH:!kEDH:!ADH:!MD5:@STRENGTH;
ssl_session_cache shared:TLSSSL:16m;
ssl_session_timeout 10m;
ssl_prefer_server_ciphers on;
client_max_body_size 0;
chunked_transfer_encoding on;
location /v2/ {
if ($http_user_agent ~ "^(docker\/1\.(3|4|5(?!\.[0-9]-dev))|Go ).*$" ) {
return 404;
}
error_log /var/log/nginx/error.log debug;
access_log /var/log/nginx/docker.log;
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 "https";
proxy_pass http://server408.int.org.com:4444/;
proxy_read_timeout 900;
}
location / {
error_log /var/log/nginx/error.log debug;
access_log /var/log/nginx/docker.log;
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 "https";
proxy_pass http://server408.int.org.com:4444/;
proxy_read_timeout 90;
}
}
Have configured an hosted docker repo within nexus(running on port 4444) with https port 6666.
Currently we are able to login to docker registry .
[dockertest@vserver446 ~]$ docker login -u admin -p admin123 server408.int.org.com:6666 Login Succeeded
But when we try to push tagged images to the nexus hosted docker registry it throws back 400 Bad Request error .
[dockertest@server446 ~]$ docker push server408.int.org.com:6666/alpine
The push refers to a repository [server408.int.org.com:6666/alpine]
3fb66f713c9f: Preparing
error parsing HTTP 400 response body: invalid character '<' looking for beginning of value: "\n<!DOCTYPE html>\n<html>\n<head>\n <title>400 - Nexus Repository Manager</title>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\"/>\n\n\n <!--[if lt IE 9]>\n <script>(new Image).src=\"https://server408.int.org.com:6666/favicon.ico?3.2.1-01\"</script>\n <![endif]-->\n <link rel=\"icon\" type=\"image/png\" href=\"https://vklnld908.int.clsa.com:6666/favicon-32x32.png?3.2.1-01\" sizes=\"32x32\">\n <link rel=\"mask-icon\" href=\"https://server408.int.org.com:6666/safari-pinned-tab.svg?3.2.1-01\" color=\"#5bbad5\">\n <link rel=\"icon\" type=\"image/png\" href=\"https://server408.int.org.com:6666/favicon-16x16.png?3.2.1-01\" sizes=\"16x16\">\n <link rel=\"shortcut icon\" href=\"https://server408.int.org.com:6666/favicon.ico?3.2.1-01\">\n <meta name=\"msapplication-TileImage\" content=\"https://server408.int.org.com:6666/mstile-144x144.png?3.2.1-01\">\n <meta name=\"msapplication-TileColor\" content=\"#00a300\">\n\n <link rel=\"stylesheet\" type=\"text/css\" href=\"https://vklnld908.int.clsa.com:6666/static/css/nexus-content.css?3.2.1-01\"/>\n</head>\n<body>\n<div class=\"nexus-header\">\n <a href=\"https://server408.int.org.com:6666\">\n <div class=\"product-logo\">\n <img src=\"https://server408.int.org.com:6666/static/images/nexus.png?3.2.1-01\"/>\n </div>\n <div class=\"product-id\">\n <div class=\"product-id__line-1\">\n <span class=\"product-name\">Nexus Repository Manager</span>\n </div>\n <div class=\"product-id__line-2\">\n <span class=\"product-spec\">OSS 3.2.1-01</span>\n </div>\n </div>\n </a>\n</div>\n\n<div class=\"nexus-body\">\n <div class=\"content-header\">\n <img src=\"https://server408.int.org.com:6666/static/rapture/resources/icons/x32/exclamation.png?3.2.1-01\"/>\n <span class=\"title\">Error 400</span>\n <span class=\"description\">Bad Request</span>\n </div>\n <div class=\"content-body\">\n <div class=\"content-section\">\n HTTP method POST is not supported by this URL\n </div>\n </div>\n</div>\n</body>\n</html>\n\n"
Am I missing some important nginx configuration? Or are my requests getting malformed.