diff --git a/nginx/nginx.conf b/nginx/nginx.conf index bfb00694..e3f111a2 100644 --- a/nginx/nginx.conf +++ b/nginx/nginx.conf @@ -4,7 +4,13 @@ events { http { resolver 127.0.0.11 valid=30s; - + + # WebSocket 연결 타임아웃 설정 + map $http_upgrade $connection_upgrade { + default upgrade; + '' close; + } + server { listen 443 ssl; server_name 54.208.50.238; @@ -12,7 +18,30 @@ http { ssl_certificate /etc/nginx/ssl/server.crt; ssl_certificate_key /etc/nginx/ssl/server.key; ssl_protocols TLSv1.2 TLSv1.3; - + + # WebSocket 전용 location + location /ws/ { + set $upstream_server dondothat-server:8080; + proxy_pass http://$upstream_server; + + # WebSocket 필수 헤더들 + proxy_http_version 1.1; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection $connection_upgrade; + + # 기본 프록시 헤더들 + 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; + + # WebSocket 타임아웃 설정 + proxy_read_timeout 86400s; + proxy_send_timeout 86400s; + proxy_connect_timeout 86400s; + } + + # 일반 HTTP 요청 처리 location / { set $upstream_server dondothat-server:8080; proxy_pass http://$upstream_server;