When you run NGINX proxy configuration you may get “Upstream Sent Too Big Header” error. In this article, we will look at how to fix this error.
NGINX: How to Fix Upstream Sent too big header Error
Here are the steps to fix upstream sent too big header error in NGINX.
Before NGINX sends response, it buffers the request made from upstream. However, there are limited buffers available in NGINX, by default. If the HTTP headers of those requests contain a lot of data then you will see this error.
This error occurs when you use proxy_pass directive. For example, you may have the following NGINX proxy configuration.
server { listen 80; server_name example.com; location / { proxy_pass http://upstream; ... } }
To fix this problem, you need to increase proxy_buffer_size configuration. You may add it to a specific location block, if you get this error only for specific URLs. For example,
server { listen 80; server_name example.com; location / { proxy_pass http://upstream; ... proxy_buffer_size 128k; proxy_buffers 4 256k; proxy_busy_buffers_size 256k; } }
The above lines increase NGINX proxy buffer from 4KB to 128KB.
You may add it to server block, if you get this error for all URLs.
server { listen 80; server_name example.com; proxy_buffer_size 128k; proxy_buffers 4 256k; proxy_busy_buffers_size 256k; location / { proxy_pass http://upstream; ... } }
Save and close the file. Restart NGINX server to apply changes.
$ sudo service nginx restart
Related posts:
Sreeram has more than 10 years of experience in web development, Python, Linux, SQL and database programming.