# BC-Game Up/Down Nginx Configuration # # 이 파일을 Laragon의 nginx 설정 디렉토리에 복사하세요: # C:\laragon\etc\nginx\sites-enabled\bc-game-updown.conf server { listen 80; server_name bc-game-updown.local localhost; root C:/laragon/www/bc-game-updown/public; index index.html index.php; # 로그 파일 access_log C:/laragon/www/bc-game-updown/access.log; error_log C:/laragon/www/bc-game-updown/error.log; # Gzip 압축 gzip on; gzip_types text/plain text/css application/json application/javascript text/xml application/xml; # CORS 헤더 (개발 환경) add_header Access-Control-Allow-Origin * always; add_header Access-Control-Allow-Methods "GET, POST, OPTIONS" always; add_header Access-Control-Allow-Headers "Content-Type" always; # API 요청 처리 location ~ ^/api/(.+\.php)$ { try_files $uri =404; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME C:/laragon/www/bc-game-updown/backend/api/$1; include fastcgi_params; } # 백엔드 파일 직접 접근 차단 location ^~ /backend/ { deny all; return 404; } # React 앱 (개발 중에는 Vite dev server 사용) # 프로덕션 빌드 후 활성화 location / { try_files $uri $uri/ /index.html; } # PHP 파일 처리 location ~ \.php$ { try_files $uri =404; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $request_filename; include fastcgi_params; } # 정적 파일 캐싱 location ~* \.(jpg|jpeg|png|gif|ico|css|js|wasm)$ { expires 1y; add_header Cache-Control "public, immutable"; } # 숨김 파일 접근 차단 location ~ /\. { deny all; } }