개발자를 벗어나긴 글렀다./Trouble Shooting

nginx 500 Error + Permission denied

터틀즈7 2021. 6. 4. 16:20

nginx를 사용중 가끔 Error log에 아래와 같이 Client_body_temp permission deny가 뜨는경우가 있다.

2021/06/04 15:11:14 [crit] 15942#0: *12083 open() "/home/xxxxxxxxxxxx/client_body_temp/0000000001" failed (13: Permission denied),

nginx를 사용중에 client_body_buffer가 기본적으로 지정되어져있는데 그 값을 넘어가게되면 파일로 저장하게 되고, 그파일을 저장시에 폴더 permission에러가 나게된다.(root로 실행시)

http://nginx.org/en/docs/http/ngx_http_core_module.html#client_body_buffer_size

Syntax: client_body_buffer_size size;
Default:
client_body_buffer_size 8k|16k;

 

post전송시 16k보다 많은 데이터가 넘어오게되면 file로 buffer를 대신하면서 permission에러가나므로client_body_buffer_size 를 늘리면 대부분증상은 해결된다 
다만, 근본적인해결책은 아니므로 temp 디렉토리를 별도로 지정해준다.

 

Syntax: client_body_temp_path path [level1 [level2 [level3]]];
Default:
client_body_temp_path client_body_temp;