© 2026 Hedgehog Software, LLC
location / { proxy_pass http://frontend:[my_frontend_port]; 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 /api/ { proxy_pass http://backend:[my_api_port]/; proxy_http_version 1.1; 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; }
fetch("/api/endpoint")...
... server: { proxy: { "/api": { target: "http://backend:[backend_port]/api", changeOrigin: true, rewrite: (path: string) => path.replace(/^\/api/, "/api"), }, }, },
GET http://localhost/api/time net::ERR_ABORTED 404 (Not Found)
const response = await fetch("/api/time", { method: "GET", headers: { "Content-Type": "application/json", }, });
http://backend:[backend_port]/api/time