server { listen 80; server_name _; # SPA history fallback root /usr/share/nginx/html; index index.html; location / { try_files $uri $uri/ /index.html; } # API proxy в read-api/writer (через k8s service DNS). # Реальный endpoint задаётся через env-template или ENV в pod, в v1 # просто проксируем на ordinis-read-api (только GET) и ordinis-app (write). location /api/v1/dictionaries { # POST/PUT идут в writer, GET — в read-api. Простое разделение по methods: if ($request_method ~ ^(POST|PUT|PATCH|DELETE)$) { proxy_pass http://ordinis-app:80; } proxy_pass http://ordinis-read-api:80; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_pass_request_headers on; } location ~ ^/api/v1/[^/]+/records { if ($request_method ~ ^(POST|PUT|PATCH|DELETE)$) { proxy_pass http://ordinis-app:80; } proxy_pass http://ordinis-read-api:80; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_pass_request_headers on; } }