<p>We have default Ingress <code>apiVersion: extensions/v1beta1</code> serving multiple Pods in Google Kubernetes Engine. The problem appears on our website when we click link which will go through the same Ingress with large header size. It works with smaller header size.</p>

<p>I have tried switching to ingress-nginx and modified <code>client_max_body_size</code> with annotation/configmap <code>proxy-body-size: "500m"</code> without success. We are using Kubernetes versions <code>1.7.12-gke.1</code> for master and <code>1.7.10-gke.0</code> for node.</p>

<p>Is there any solution to modify allowed header size directly? I'm out of ideas.</p>

<p>The default load balancer witch is Ingress in GKE, block request to the backend services if requested URL and headers size is longer than about 15KB for the general <a href="https://cloud.google.com/compute/docs/load-balancing/http/#illegal_request_handling" rel="nofollow noreferrer">security reason</a>.
Please consider that if this URL is affecting sending such large amount of data, that probably is something wrong with backend application - maybe infinite loop for example or misconfigured Web services.
If you are sure that everything is fine on the backend side you can consider to deploy custom Kubernet Ingress from <a href="https://github.com/nginxinc/kubernetes-ingress" rel="nofollow noreferrer">github</a> and tune up client header buffer size witch is mentioned <a href="https://github.com/kubernetes/ingress-nginx/pull/150" rel="nofollow noreferrer">here</a>.</p>
