Files
a301_client/nginx.conf
tolelom aaf92baa9f
All checks were successful
Client CI/CD / deploy (push) Successful in 25s
fix: 입력 검증·보안 헤더·접근성·UX 개선
- 로그인/회원가입 입력 길이 제한 (username 50자, password 100자)
- 공지사항 관리 입력 길이 제한 (제목 200자, 내용 10000자)
- AnnouncementBoard aria-expanded 접근성 속성 추가
- DownloadSection useEffect 중복 API 호출 제거
- nginx 보안 헤더 (X-Content-Type-Options, X-Frame-Options)
- nginx /assets/ 장기 캐싱 (immutable, 1년)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-13 17:48:24 +09:00

29 lines
790 B
Nginx Configuration File

server {
listen 80;
root /usr/share/nginx/html;
index index.html;
# 보안 헤더
add_header X-Content-Type-Options "nosniff" always;
add_header X-Frame-Options "DENY" always;
# index.html은 캐싱 금지 (배포 후 즉시 반영)
location = /index.html {
try_files $uri =404;
add_header Cache-Control "no-store, no-cache, must-revalidate";
}
# Vite 해시 에셋 장기 캐싱
location /assets/ {
add_header Cache-Control "public, max-age=31536000, immutable";
}
# SPA fallback (react-router 사용 시 필요)
location / {
try_files $uri $uri/ /index.html;
}
gzip on;
gzip_types text/plain text/css application/javascript application/json image/svg+xml;
gzip_min_length 1024;
}