worker_processes 2; events { worker_connections 1024; } http { server_names_hash_bucket_size 64; error_log /var/log/nginx/error.log debug; access_log /var/log/nginx/access.log; proxy_intercept_errors on; proxy_send_timeout 120; proxy_read_timeout 300; # http simulations server { listen 80; listen 443 ssl; server_name _; ssl_certificate /etc/nginx/certs/nexus_server.crt; ssl_certificate_key /etc/nginx/certs/nexus_server.key; keepalive_timeout 5 5; location / { root /srv/http/$host; index index.html; } } # nexus simulations server { resolver 127.0.0.11 valid=30s; listen 80; listen 443 ssl; server_name {% for host in simulated_hosts.nexus -%} {{ host + " " }} {%- endfor %}; ssl_certificate /etc/nginx/certs/nexus_server.crt; ssl_certificate_key /etc/nginx/certs/nexus_server.key; keepalive_timeout 5 5; proxy_buffering off; # allow large uploads client_max_body_size 3G; location / { set $upstream_nexus nexus:8081; set $upstream_registry nexus:8082; # redirect to docker registry if ($http_user_agent ~ docker ) { proxy_pass http://$upstream_registry; } proxy_pass http://$upstream_nexus; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } } }