有時候nginx會報HTTP400錯誤,而且這個HTTP400錯誤並不是每次都會出現的,
排查發現nginx 400錯誤是由於request header過大,通常是由於cookie中寫入了較長的字符串所引起的。
解決方法:
不要在cookie里記錄過多數據,如果實在需要的話可以考慮調整在nginx.conf中的client_header_buffer_size(默認1k)
若cookie太大,可能還需要調整large_client_header_buffers(默認4k),該參數說明如下:
請求行如果超過buffer,就會報HTTP 414錯誤(URI Too Long)
nginx接受最長的HTTP頭部大小必須比其中一個buffer大,否則就會報400的HTTP錯誤(Bad Request)。