Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Nginx Ingress returns 413 Entity Too Large

on my Cluster, I'm trying to upload a big file but when I try, I get the 413 Error

error parsing HTTP 413 response body: invalid character '<' looking for beginning of value: "<html>\r\n<head><title>413 Request Entity Too Large</title></head>\r\n<body>\r\n<center><h1>413 Request Entity Too Large</h1></center>\r\n<hr><center>nginx/1.19.3</center>\r\n</body>\r\n</html>\r\n"

I know that this is caused by a default parameter of nginx and I need to override it. On the documentation I've found that this can be done using two ways:

  1. using annotation on ingress config
  2. using a configMap

I have tried both ways with no result.

Here are my yaml: ingress.yml

apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
  annotations:
    kubernetes.io/ingress.class: nginx
    nginx.ingress.kubernetes.io/proxy-body-size: "700m"
  name: nginx-ingress
spec:
  rules:
    - host: example.com
      http:
        paths:
          - backend:
              serviceName: nginx-service
              servicePort: 80
            path: /              

and configmap.yml:

apiVersion: v1
data:
  proxy-body-size: "800m"
kind: ConfigMap
metadata:
  name: ingress-nginx-controller
  labels:
    app.kubernetes.io/name: nginx-ingress
    app.kubernetes.io/part-of: nginx-ingress
like image 615
v2to Avatar asked Sep 07 '25 20:09

v2to


1 Answers

For future searches, It works for me:

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  annotations:
    nginx.ingress.kubernetes.io/proxy-body-size: "0"
    nginx.ingress.kubernetes.io/proxy-read-timeout: "600"
    nginx.ingress.kubernetes.io/proxy-send-timeout: "600"
  name: docker-registry
  namespace: docker-registry
spec:
like image 142
rafaelnaskar Avatar answered Sep 10 '25 03:09

rafaelnaskar