Nginx会忽略/etc/nginx/conf.d/中nginx.conf中定义的client_max_body_size。

时间:2019-03-06 05:45:56

标签: nginx file-upload uwsgi django-2.1

我有一个通过django服务器公开的api。每当我尝试上传超过1MB的任何文件时,我都会从nginx收到一条错误消息,提示“ 413实体太大”

我有一个名为nginx.conf的配置文件,该文件在目录Headless Chrome Initialized {'width': 1400, 'height': 600} Window size: width = 1920px, height = 1080px 中将client_max_body_size设置为75M 在/etc/nginx/conf.d文件中,我将/etc/nginx/nginx.conf作为http块的最后一行,为什么我会看到此错误?

我已遵循此https://uwsgi-docs.readthedocs.io/en/latest/tutorials/Django_and_nginx.html?highlight=client_max_body_size来使用uWSGI和Nginx配置Django和网络服务器

nginx版本1.15.6

include /etc/nginx/conf.d/*.conf;

/etc/nginx/conf.d /

中的site.conf文件
# /etc/nginx/nginx.conf

user nginx;

# Set number of worker processes automatically based on number of CPU cores.
worker_processes auto;

# Enables the use of JIT for regular expressions to speed-up their processing.
pcre_jit on;

# Configures default error logger.
error_log /var/log/nginx/error.log warn;

# Includes files with directives to load dynamic modules.
include /etc/nginx/modules/*.conf;


events {
        # The maximum number of simultaneous connections that can be opened by
        # a worker process.
        worker_connections 1024;
}

http {
        # Includes mapping of file name extensions to MIME types of responses
        # and defines the default type.
        include /etc/nginx/mime.types;
        default_type application/octet-stream;

        # Name servers used to resolve names of upstream servers into addresses.
        # It's also needed when using tcpsocket and udpsocket in Lua modules.
        #resolver 208.67.222.222 208.67.220.220;

        # Don't tell nginx version to clients.
        server_tokens off;

        # Specifies the maximum accepted body size of a client request, as
        # indicated by the request header Content-Length. If the stated content
        # length is greater than this size, then the client receives the HTTP
        # error code 413. Set to 0 to disable.
        client_max_body_size 1m;

        # Timeout for keep-alive connections. Server will close connections after
        # this time.
        keepalive_timeout 65;

        # Sendfile copies data between one FD and other from within the kernel,
        # which is more efficient than read() + write().
        sendfile on;

        # Don't buffer data-sends (disable Nagle algorithm).
        # Good for sending frequent small bursts of data in real time.
        tcp_nodelay on;

        # Causes nginx to attempt to send its HTTP response head in one packet,
        # instead of using partial frames.
        #tcp_nopush on;
        # Path of the file with Diffie-Hellman parameters for EDH ciphers.
        #ssl_dhparam /etc/ssl/nginx/dh2048.pem;

        # Specifies that our cipher suits should be preferred over client ciphers.
        ssl_prefer_server_ciphers on;

        # Enables a shared SSL cache with size that can hold around 8000 sessions.
        ssl_session_cache shared:SSL:2m;


        # Enable gzipping of responses.
        #gzip on;

        # Set the Vary HTTP header as defined in the RFC 2616.
        gzip_vary on;

        # Enable checking the existence of precompressed files.
        #gzip_static on;


        # Specifies the main log format.
        log_format main '$remote_addr - $remote_user [$time_local] "$request" '
                        '$status $body_bytes_sent "$http_referer" '
                        '"$http_user_agent" "$http_x_forwarded_for"';

        # Sets the path, format, and configuration for a buffered log write.
        access_log /var/log/nginx/access.log main;


        # Includes virtual hosts configs.
        include /etc/nginx/conf.d/*.conf;
}

1 个答案:

答案 0 :(得分:0)

确保将client_max_body_size添加到服务器块

http {
    server {
        client_max_body_size 20M;
        listen       80;
        server_name  test.com;
    }
}

最重要的是通过以下方式使您的配置生效:

sudo /etc/init.d/nginx reload