Ingress NginX : Custom max body size
ingress-nginx를 사용하는 중, 파일 업로드 중 413 에러가 발생하였습니다. 이 경우는 nginx가 허용하는 것보다, 큰 파일이 업로드 되어 에러가 발생한 것이었습니다.
허용하는 최대 파일 크기를 늘리는 방법은 두 가지가 있습니다.
첫번째는 configmap을 에 설정하는 것이고, 두번째는 ingress 에 커스텀 어노테이션을 추가하는 것입니다. configmap에 설정할 경우는 글로벌하게 적용되고, 커스텀 어노테이션을 사용할 경우는 해당 ingress만 영향을 받습니다.
ConfigMap
nginx-configuration
이름의 nginx configmap에 proxy-body-size
값을 설정합니다.
apiVersion: v1 data: proxy-body-size: "1024m" kind: ConfigMap metadata: labels: app: ingress-nginx name: nginx-configuration
Ingress annotation
Ingress
리소스에 아래와 같이 어노테이션을 추가하면 됩니다.
nginx.ingress.kubernetes.io/proxy-body-size: 10m\
apiVersion: extensions/v1beta1 kind: Ingress metadata: annotations: nginx.ingress.kubernetes.io/proxy-body-size: 1024m labels: app: kubeflow name: kubeflow namespace: kubeflow spec: rules: - host: kubeflow.xxx.yyy http: paths: - backend: serviceName: ambassador servicePort: 79 path: /