티스토리 뷰

728x90

 

 

 

쿠버네티스를 사용하는 고객사에서 파일을 업로드 할 때 413 Request Entity Too Large 에러가 발생했다. 1MB를 갓 넘기는 파일이라 이게 대체 무슨일인가 보았더니, nginx에서는 업로드하는 파일의 용량을 기본적으로 1MB로 제한하기 때문이었다. 쿠버네티스에서도 ingress에서 설정을 해주지 않으면 nginx와 같은 기본값을 사용한다.

Ingress 설정 방법

ingress의 proxy-body-size를 설정하는 방법은 아주 간단히 어노테이션을 추가해주면 된다.

"nginx.ingress.kubernetes.io/proxy-body-size: 허용용량"

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: my-app
  annotations:
    kubernetes.io/ingress.class: nginx-system
    nginx.ingress.kubernetes.io/proxy-body-size: 100m
 spec:
   rules:
   - host: my-domain.injeong.com
     http:
       paths:
       - backend:
          service:
            name: myservice
            port:
              number: 8080
         path: /
         pathType: ImplementationSpecific

 

 

 

[+] nginx설정 방법

ngix에서 허용되는 업로드 파일 용량을 설정은 /etc/nginx/nginx.conf에서 설정한다.

 

1. 기본적으로 적용 되는 허용 용량 설정

http {
  ...
  ...
  
  client_max_body_size	10M;
  
  ...
  ...
}

 

2. 특정 경로만 적용하고자 하는 경우

http {
    ...
    ...
    
    # 기본설정
    client_max_body_size	10M;

    server {
       ...
       ...
        server {
        	location /bigfile {
            	client_max_body_size	1G;
        	}
        }
        
        ...
        ...
    }
    
    ...
    ...
}

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함