NodeJS HPE_HEADER_OVERFLOW
January 27, 2020•118 words
Quick knowledge tip
We ran into an issue on production where our k8s ingress controller was returning 400 Bad Request
on multiple responses a day. After debugging the cause was a header was being sent that was larger than 8Kb, which was rejected (dropped) by NodeJS. Nginx then returned a 400
since the request did not return a valid response.
It was caused by two things:
- An Akamai rule duplicating header values, so we got multiple headers multiple times
- A frontender setting a ludicrous amount of cookies
Both issues are pending testing, so we did a quick fix by expanding Node's HTTP size limit to 16Kbw ith the following param:
--max-http-header-size=16000