upstream egommerce-api-gw { server 127.0.0.1:48443; } upstream egommerce-api-gw-dashboard { server 127.0.0.1:48444; } upstream egommerce-api-registry-ui { server 127.0.0.1:48445; } upstream egommerce-api-eventbus-mngmt { server 127.0.0.1:48446; } server { listen 443 ssl; ssl_certificate /home/keedosn/workspace/golang/src/git.pbiernat.dev/egommerce/stack/deploy/certs/api-gateway/localhost.cert; ssl_certificate_key /home/keedosn/workspace/golang/src/git.pbiernat.dev/egommerce/stack/deploy/certs/api-gateway/localhost.key; server_name egommerce.local; # Traefik redirects location /dashboard { if ($http_referer ~ (/gateway)) { proxy_pass http://egommerce-api-gw-dashboard; } } location /api { if ($http_referer ~ (/gateway)) { proxy_pass http://egommerce-api-gw-dashboard; } } location /gateway/ { proxy_pass http://egommerce-api-gw-dashboard/dashboard/; proxy_pass_header Server; proxy_set_header Host $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; client_max_body_size 0; } # Consul redirects location /ui { if ($http_referer ~ (/registry)) { proxy_pass http://egommerce-api-registry-ui; } } location /v1 { if ($http_referer ~ (/registry)) { proxy_pass http://egommerce-api-registry-ui; } } location /registry { proxy_pass http://egommerce-api-registry-ui; proxy_pass_header Server; proxy_set_header Host $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; client_max_body_size 0; } # RabbitMQ Mngmt redirects location /eventbus { return 302 /eventbus/; } location ~* /eventbus/api/(.*?)/(.*) { proxy_pass http://egommerce-api-eventbus-mngmt/api/$1/%2F/$2?$query_string; proxy_buffering off; proxy_pass_header Server; proxy_set_header Host $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; } location ~* /eventbus/(.*) { rewrite ^/eventbus/(.*)$ /$1 break; proxy_pass http://egommerce-api-eventbus-mngmt; proxy_buffering off; proxy_pass_header Server; proxy_set_header Host $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; } # Pass all requests to the API Gateway location / { proxy_pass https://egommerce-api-gw; proxy_http_version 1.1; proxy_pass_header Server; proxy_set_header Host $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; client_max_body_size 0; } error_log /var/log/nginx/egommerce.local-error.log; access_log /var/log/nginx/egommerce.local-access.log combined; }