How do I limit upload size in NGINX?

You might get a HTTP error in WordPress when trying to upload a large photo, or phpMyAdmin might whine you about a file size. Here's how to lift the file size limit.

PHP config

See where your php.ini file is located:

$ php --ini
Configuration File (php.ini) Path: /etc/php5/cli
Loaded Configuration File:         /etc/php5/cli/php.ini
Scan for additional .ini files in: /etc/php5/cli/conf.d
Additional .ini files parsed:      /etc/php5/cli/conf.d/gd.ini,
...

It should be the Loaded Configuration File in /etc/php5/cli/php.ini. Pop it open and change the following:

upload_max_filesize = 100M
post_max_size = 100M

Next NGINX.

NGINX config

Somewhere in your server block, or in nginx.conf file there should be a http directive, add clinet_max_body_size somewhere in it:

http {
    # [...]
    client_max_body_size 100m;
    # [...]
}

Note: if really large file, might need to change

upload_max_filesize = 100M
post_max_size = 100M
0 parameter to something large, default is 60s.

Increase limit user file upload size in Nginx

  • Report this post

Ankit Kumar Rajpoot

How do I limit upload size in NGINX?
How do I limit upload size in NGINX?
How do I limit upload size in NGINX?
How do I limit upload size in NGINX?

How do I limit upload size in NGINX?
How do I limit upload size in NGINX?
How do I limit upload size in NGINX?
How do I limit upload size in NGINX?

Price
View Courses

600+ Online Courses | 50+ projects | 3000+ Hours | Verifiable Certificates | Lifetime Access
4.6 (84,762 ratings)

How do I limit upload size in NGINX?

Overview of Nginx Max Upload Size

Nginx will abort our connection when we upload the large files, which is the max limit we have defined in the nginx configuration files. We can change the nginx file-max upload size limit using the nginx configuration file. After configuring the max upload limit of the file, we need to restart the nginx server; without a restart, it will not work properly. The default limit of nginx file upload is too low; if suppose we want to upload images or video, then it will create an issue in the application and show an error to the user while uploading the file.

Start Your Free Software Development Course

Web development, programming languages, Software testing & others

How to Increase Nginx Max Upload Size?

Below are the steps to increase the nginx max upload size. We will use the directive name client_max_body_size for setting the limit of max file upload. We can place the directive of client_max_body_size in the server, http of location.

1. In the first step, we need to install the nginx server in our system. We can install the nginx server by using rpm, and source, as well as by using the binary installation.

Code:

apt-get install nginx

Output:

How do I limit upload size in NGINX?

2. After installing the server of nginx, we need to start the nginx server by using the “service nginx start” command. After beginning the nginx service, we can check the status of the service. We have installed the nginx version as 1.18 as follows.

Code:

service nginx status
nginx –V

Output:

How do I limit upload size in NGINX?

3. In this step, we create our website’s directory from which we use the auto indexes. We are creating the directory name as nginx_autoindex. After creating the directory, we provide the 755 umask value to the specified directory.

Code:

mkdir -p /nginx_maxupload
chmod -R 755 /nginx_maxupload

Output:

How do I limit upload size in NGINX?

4. After creating the directory and providing the umask value to the same now, we are opening the nginx configuration file to add the configuration of the nginx autoindex as follows.

How do I limit upload size in NGINX?

5. After opening the nginx configuration file in this step, we increase the file upload size limit of the nginx server. If suppose we want to increase the limit of our entire website to 25 MB, then we need to add the below code into the http block as follows.

Code:

http {
   client_max_body_size 50M;
}

Output:

How do I limit upload size in NGINX?

6. If suppose we want to increase the limit of file size upload only for the specified https request but not for the request of HTTP, then we need to add the client_max_body_size 50 MB line into the block of https, which listen from the 443 but not in a block which was listening from 80.

Code:

server{
  listen 80;
}
server{
  listen 443;
  client_max_body_size 50M;
}

Output:

How do I limit upload size in NGINX?

7. We can also use the above approach suppose we want to increase the upload file size limit of a specific website or domain. If suppose we want to increase the file size directive for a specified URI or directive, in that case, we can use the client_max_body_size directive in the nginx_maxupload folder as follows.

Code:

location /nginx_maxupload {
  client_max_body_size 40M;
}

Output:

How do I limit upload size in NGINX?

8. To take the effect of the above change, we need to restart the nginx server by using the following command. However, before that, we need to check that our configuration is valid in the nginx configuration file by using the following command.

Code:

nginx –t
service nginx restart

Output:

How do I limit upload size in NGINX?

How to Limit File Nginx Max Upload Size?

We can limit the file upload size in nginx; by limiting the file upload size, we can prevent DOS attacks and many other issues. The below steps show how we can limit the max upload size of the file. In the below example, we are limiting the upload size of the file of http, server, and directive as follows.

1. In the first step, we open the nginx configuration file using the vi command for editing purposes.

How do I limit upload size in NGINX?

2. After opening the nginx configuration file in this step, we limit the file upload size of the nginx server to 100 MB of the http directive.

Code:

http {
   client_max_body_size 100M;
}

Output:

How do I limit upload size in NGINX?

3. If suppose we want to limit the upload file size only for the specified https request but not for the request of HTTP, then we need to add the client_max_body_size 100M line into the block of HTTP, which listen from the 80 but not in a block which was listened from 443.

Code:

server{
  listen 443;
}
server{
  listen 80;
  client_max_body_size 100M;
}

Output:

How do I limit upload size in NGINX?

4. If suppose we want to limit the upload file size directive for a specified URI or directive, in that case, we can use the client_max_body_size directive in the nginx_maxupload folder as follows.

Code:

location /nginx_maxupload {
  client_max_body_size 100M;
}

Output:

How do I limit upload size in NGINX?

5. After limiting the directive of client_max_body_size, we need to check the syntax of nginx configuration files. After checking the syntax, if suppose the syntax of the file is ok, then we need to restart the nginx server; if suppose syntax is not ok, then we need to verify the same.

Code:

nginx –t
service nginx restart

Output:

How do I limit upload size in NGINX?

Conclusion

We can change the nginx file-max upload size limit using the nginx configuration file. The nginx default file upload size limit is 1 MB; if suppose the user uploads a file which is more than 1 MB, then the user will get the 413 error, i.e., entity request is too large.

This is a guide to Nginx Max Upload Size. Here we discuss the introduction and how to increase and limit file nginx max upload size. You may also have a look at the following articles to learn more –

How can you limit upload size by users?

You can make use of the LimitRequestBody directive to limit upload file size. The value assigned to the LimitRequestBody allows Apache to accept and store file uploads of 9000 bytes by users.

How do I limit the size of a file?

DOC and DOCX format.
Remove unnecessary images, formatting and macros in your Word document..
Save the file as a recent Word version..
Reduce the images' size before you add them to your Word document. If you have access to photo-editing software. ... .
If your file is still too large, save the file as a PDF..

How to set client_max_body_size?

You can place client_max_body_size directive in http, server or location..
Open NGINX configuration file. Open terminal and run the following command to open NGINX configuration file in a text editor. ... .
Increase File Upload Size in NGINX. ... .
Restart NGINX..

How do I change the upload file size in web config?

Access the web. config file..
Update the httpRuntime tag with the maximum file size you want. Look for the httpRuntime tag. ... .
If you need to upload files that are greater than 28 MB on IIS7+ or on Cloud Services, add a <system. ... .
Recycle the application pool to allow the changes to take effect..