According to the documentation at https://cloud.google.com/load-balancing/docs/quotas#https-lb-header-limits, the limit for request header size for external ALBs is 64KB. However, all of our 431 Request Header Fields Too Large responses have request sizes of ~16KB or more, and would succeed if the limit were actually 64KB.
Is this documentation incorrect, or is there another consideration that we're overlooking?
Hi @mporter,
Welcome to Google Cloud Community!
Yes, external Application Load Balancers have a maximum client request header size of 64 KB. However, please note that this 64 KB limit is the combined size of the request URL and request header as stated here.
In general, the HTTP Error 431: Request Header Fields Too Large response status code indicates that the origin server refuses to fulfill users’ requests. Your web browser will show this message when the request headers or a single header field is too large. This type of error is on the client-side. See What Is the HTTP Error 431?
This documentation provides 3 Methods to Fix the HTTP Error 431:
Additionally, you may also refer to this Stackoverflow discussion, which recommended limiting the use of long query strings (max of 2048 bytes).
If the issue persists, kindly reach out to Google Cloud Support for further assistance.
Was this helpful? If so, please accept this answer as “Solution”. If you need additional assistance, reply here within 2 business days and I’ll be happy to help.