diff --git a/Dockerfile b/Dockerfile index 728da55..8293e10 100644 --- a/Dockerfile +++ b/Dockerfile @@ -33,6 +33,7 @@ FROM nginx:alpine # Copy built assets from builder stage COPY --from=builder /app/dist /usr/share/nginx/html +COPY nginx.conf /etc/nginx/conf.d/default.conf # Expose port EXPOSE 80 diff --git a/nginx.conf b/nginx.conf new file mode 100644 index 0000000..1706b3b --- /dev/null +++ b/nginx.conf @@ -0,0 +1,29 @@ +server { + listen 80; + server_name _; + + root /usr/share/nginx/html; + index index.html; + + # SPA fallback + location / { + try_files $uri /index.html; + } + + # API проксировать, если нужно + location /api/ { + try_files $uri /index.html; + 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; + } + + # Optional: кэширование статических файлов + location ~* \.(?:ico|css|js|gif|jpe?g|png|woff2?|eot|ttf|svg)$ { + expires 1y; + access_log off; + add_header Cache-Control "public"; + } +}