- 토큰 저장 키 통일 (access_token으로 일관성 확보) - 일일공수 페이지 API 스크립트 로딩 순서 수정 - 프로젝트 관리 페이지 비활성 프로젝트 표시 문제 해결 - 업로드 카테고리에 '기타' 항목 추가 (백엔드 schemas.py 포함) - 비밀번호 변경 기능 API 연동으로 수정 - 프로젝트 드롭다운 z-index 문제 해결 - CORS 설정 및 Nginx 구성 개선 - 비밀번호 해싱 방식 pbkdf2_sha256으로 변경 (bcrypt 72바이트 제한 해결)
84 lines
2.7 KiB
Nginx Configuration File
84 lines
2.7 KiB
Nginx Configuration File
events {
|
|
worker_connections 1024;
|
|
}
|
|
|
|
http {
|
|
include /etc/nginx/mime.types;
|
|
default_type application/octet-stream;
|
|
|
|
# 로그 설정
|
|
access_log /var/log/nginx/access.log;
|
|
error_log /var/log/nginx/error.log;
|
|
|
|
# 업로드 크기 제한
|
|
client_max_body_size 10M;
|
|
|
|
server {
|
|
listen 80;
|
|
server_name localhost;
|
|
|
|
# 경기도 IP 대역만 허용 (주요 ISP)
|
|
allow 211.0.0.0/8; # KT
|
|
allow 175.0.0.0/8; # KT
|
|
allow 121.0.0.0/8; # SK브로드밴드
|
|
allow 1.0.0.0/8; # SK브로드밴드
|
|
allow 112.0.0.0/8; # LG유플러스
|
|
allow 106.0.0.0/8; # LG유플러스
|
|
allow 127.0.0.1; # 로컬호스트
|
|
allow 192.168.0.0/16; # 내부 네트워크
|
|
deny all; # 나머지 모든 IP 차단
|
|
|
|
# HTML 파일 캐시 제어
|
|
location ~* \.(html)$ {
|
|
root /usr/share/nginx/html;
|
|
expires -1;
|
|
add_header Cache-Control "no-store, no-cache, must-revalidate, proxy-revalidate, max-age=0";
|
|
add_header Pragma "no-cache";
|
|
add_header Last-Modified $date_gmt;
|
|
add_header ETag "";
|
|
if_modified_since off;
|
|
}
|
|
|
|
# 프론트엔드 파일 서빙
|
|
location / {
|
|
root /usr/share/nginx/html;
|
|
index index.html;
|
|
try_files $uri $uri/ /index.html;
|
|
}
|
|
|
|
# JS/CSS 파일 캐시 제어 (모바일 강화)
|
|
location ~* \.(js|css)$ {
|
|
root /usr/share/nginx/html;
|
|
expires -1;
|
|
add_header Cache-Control "no-store, no-cache, must-revalidate, proxy-revalidate, max-age=0";
|
|
add_header Pragma "no-cache";
|
|
add_header Last-Modified $date_gmt;
|
|
add_header ETag "";
|
|
if_modified_since off;
|
|
# 모바일 캐시 방지 추가 헤더
|
|
add_header Vary "User-Agent";
|
|
add_header X-Accel-Expires "0";
|
|
}
|
|
|
|
# API 프록시 (백엔드에서 CORS 처리)
|
|
location /api/ {
|
|
proxy_pass http://backend:8000/api/;
|
|
proxy_http_version 1.1;
|
|
proxy_set_header Upgrade $http_upgrade;
|
|
proxy_set_header 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;
|
|
proxy_cache_bypass $http_upgrade;
|
|
}
|
|
|
|
# 업로드된 파일 서빙
|
|
location /uploads/ {
|
|
alias /usr/share/nginx/html/uploads/;
|
|
expires 1y;
|
|
add_header Cache-Control "public, immutable";
|
|
}
|
|
}
|
|
}
|