본문 바로가기
Nginx

파일 업로드/다운로드 시 임시 디렉토리 권한 이슈

by ybs 2021. 1. 19.
반응형

client_body_buffer_size 는 client 요청 바디를 읽기 위한 버퍼 크기다. 디폴트 값은 8K (32 bits) | 16K (64 bits) 다.

 

요청 바디 크기가 버퍼 크기보다 크면, 전체 또는 일부가 http-client-body-temp-path 에 해당하는 디렉토리에 쓰여진다.

 

http-client-body-temp-path 는 최초 nginx 설치 할 때 --http-client-body-temp-path=path 지시자로 정한다.

디폴트 값은 prefix/proxy_temp 이고(prefix는 Nginx 빌드 결과물이 들어갈 디렉토리),

경로는 nginx.conf 에서 client_body_temp_path 지시자로 바꿀 수 있다.

 

이때 nginx 실행 권한과 디렉토리 접근 권한이 다르면 권한 이슈가 발생한다. 예를 들어 yangbongsoo 계정으로 nginx 를 실행 시켰는데,

http-client-body-temp-path 로 지정된 디렉토리 접근 권한이 root로 되어 있고, 요청 바디 크기가 버퍼 크기보다 크면 파일 업로드/다운로드 시 아래와 같은 권한 오류가 발생한다.

open() "/home/ybs/temp/nginx/client_body//0000000006" failed (13: Permission denied)

 

반응형

'Nginx' 카테고리의 다른 글

rewrite break 이슈  (0) 2022.02.17
nginx 수정 하면서 썼던 명령어 정리  (0) 2021.08.03
reset_timedout_connection 옵션  (0) 2021.01.19
timeout 설정 정리  (0) 2021.01.19
nginx gzip 옵션  (0) 2021.01.17