- NEXT_PUBLIC_API_URL을 same-origin(빈값)으로 변경 (Nginx 리버스 프록시 사용) - Nginx 설정 추가 (SSE 버퍼링 OFF, API/Frontend 프록시) - Dockerfile, docker-compose.yml 업데이트 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
62 lines
1.7 KiB
Nginx Configuration File
62 lines
1.7 KiB
Nginx Configuration File
upstream frontend {
|
|
server frontend:3000;
|
|
}
|
|
|
|
upstream backend {
|
|
server backend:8000;
|
|
}
|
|
|
|
server {
|
|
listen 80;
|
|
server_name web-inspector.yakenator.io;
|
|
|
|
client_max_body_size 10M;
|
|
|
|
# API 요청 → Backend
|
|
location /api/ {
|
|
proxy_pass http://backend;
|
|
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;
|
|
|
|
# 타임아웃 (검사 최대 120초)
|
|
proxy_read_timeout 120s;
|
|
proxy_send_timeout 120s;
|
|
}
|
|
|
|
# SSE 스트리밍 전용 (버퍼링 OFF)
|
|
location ~ ^/api/inspections/[^/]+/stream$ {
|
|
proxy_pass http://backend;
|
|
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;
|
|
proxy_set_header Connection '';
|
|
|
|
proxy_buffering off;
|
|
proxy_cache off;
|
|
proxy_read_timeout 300s;
|
|
chunked_transfer_encoding off;
|
|
|
|
# SSE content type
|
|
add_header Content-Type text/event-stream;
|
|
add_header Cache-Control no-cache;
|
|
add_header X-Accel-Buffering no;
|
|
}
|
|
|
|
# 나머지 → Frontend
|
|
location / {
|
|
proxy_pass http://frontend;
|
|
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;
|
|
|
|
# Next.js HMR WebSocket (개발 시)
|
|
proxy_http_version 1.1;
|
|
proxy_set_header Upgrade $http_upgrade;
|
|
proxy_set_header Connection "upgrade";
|
|
}
|
|
}
|