NodeJS HPE_HEADER_OVERFLOW

NodeJS HPE_HEADER_OVERFLOW in DataDog

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


You'll only receive email when Geeklab.io publishes a new post

More from Geeklab.io