방명록
- [Linux] 이미지 업로드 실패 : nginx 관련 PUT 413 (Request Entity Too Large) 에러2024년 03월 27일 10시 51분 40초에 업로드 된 글입니다.작성자: DandyNow728x90반응형
1. PUT 413 (Request Entity Too Large) 에러
서버 이전 후 기존에 아무 문제 없이 운영하던 애플리케이션의 이미지 업로드 기능이 작동하지 않는 문제가 발생했다. 이미지 업로드 시도 시 콘솔에서 CORS 에러가 발생한 것을 확인할 수 있었다. node.js로 작성된 이미지 서버에서 모든 CORS 정책을 허용을 하였음에도 해결되지 않았다. 즉 콘솔에 표면적으로 드러난 CORS 에러가 원인이 아니라는 것을 짐작할 수 있었다. 확인 차 크롬 브라우저 CORS 허용하여 테스트해보았다. 더 중요한 에러 메시지는 "PUT 413 (Request Entity Too Large)" 임을 확인했다.
2. nginx의 default 설정에 client_max_body_size 추가하여 해결
이미지 서버는 nginx를 통해 443 포트로 서비스되도록 하고 있었다. 이미지 업로드 시 이미지 파일의 크기가 허용 범위를 넘어가서 업로드되지 않는 것을 확인했다. 그래서 client_max_body_size를 10m로 설정하는 옵션을 추가하였다. 설정을 변경하고 nginx를 재 구동하였고 문제는 해결되었다. 이전하기전 서버에서는 이런 옵션 없이도 아무 문제가 없었다. 그런데 새로운 서버 시스템에서는 왜 이런 옵션을 추가해야만 하는 것인지는-아직-모르겠다.
# /etc/nginx/sites-available/default server { listen 443 ssl; server_name (생략); client_max_body_size 10m; # 추가 # (생략) }
🤔 이미지 업로드시 이미지 사이즈를 리사이즈하는 과정을 추가할 필요가 있겠다는 생각을 했다.
728x90반응형'CS > Linux' 카테고리의 다른 글
[Linux] 생활코딩 리눅스 : 패키지 매니저 (0) 2024.04.02 [Linux] 생활코딩 리눅스 : --help와 man(명령어 매뉴얼 보기) (0) 2024.03.29 [Linux] ubuntu 서버 성능 모니터링 (0) 2024.03.15 [Linux] Centos 방화벽(firewall) 설정 명령어 (0) 2024.03.14 [Linux] 서버 이전을 위한 리눅스 명령어 (1) 2024.03.08 다음글이 없습니다.이전글이 없습니다.댓글