<p>The default value of said annotation is 60 sec; I am looking to change its value to 120 sec. I added this as an annotation in ingress resource file but it doesn't seem to be working.</p>

<p>Since my request body is quite big, I am getting 408 from ingress http server immediately after 60 sec only; </p>

<p>Where else I can define this annotation if it is not allowed in ingress file itself?</p>

<p>The following page doesn't mention this annotation; Is it because it is not meant to be added as an annotation?</p>

<p><a href="https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/annotations" rel="nofollow noreferrer">https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/annotations</a></p>

<p>Ingress resource snippet:</p>

<pre><code>kind: Ingress
metadata:
  name: app-ingress
  annotations:
    nginx.ingress.kubernetes.io/rewrite-target: /my-app
    nginx.ingress.kubernetes.io/client-header-buffer-size: "1M"
    nginx.ingress.kubernetes.io/client-header-timeout: "60"
    nginx.ingress.kubernetes.io/client-body-buffer-size: "1M"
    nginx.ingress.kubernetes.io/client-body-timeout: "120"
    nginx.ingress.kubernetes.io/use-regex: "true"
    nginx.ingress.kubernetes.io/configuration-snippet: |
        proxy_set_header custom-header $1;
spec:
  rules:
  - http:
      paths:
      - path: /(UK)/my-app/(.*)$
        backend:
          serviceName: test
          servicePort: 80
</code></pre>

<p>Adding to HelloWorlds answer, if someone is looking to provide this annotation globally with Kubernetes version of Ingress then following steps could be followed:</p>

<ol>
<li><p>Check in which namespace ingress pod is running. Mostly the namespace name will be something like <em>-ingress-some-string-</em>.</p>

<p>$ kubectl get ns</p>

<p>Lets say the namespace is: 'ingress-nginx'</p></li>
<li><p>Now that namespace is known, check pods inside that namespace.</p>

<p>$ kubectl get pods -n ingress-nginx</p>

<p>Lets say you get a pod something like: 'ingress-nginx-controller-abcdefg'</p></li>
<li><p>Check the configmap this pod is using the following command:</p>

<p>$ kubectl get pod ingress-nginx-controller-abcdefg -n ingress-nginx -o yaml | grep configmap</p>

<p>You will get an output something like: --configmap=${POD_NAMESPACE}/nginx-configuration</p></li>
<li><p>Now, you have to create a config map with above name with required and supported configurations by Kubernetes Ingress.</p>

<p>$ cat global-configmap.yaml</p>

<hr>

<p>apiVersion: v1</p>

<p>kind: ConfigMap</p>

<p>meta: </p>

<pre><code> name: nginx-configuration

 namespace: ingress-nginx
</code></pre>

<p>data:</p>

<pre><code> client-body-timeout: "120"   # default value is 60 seconds
</code></pre></li>
<li><p>Now, apply this config map yaml.</p>

<p>$ kubectl apply -f global-configmap.yaml</p></li>
</ol>
