nginx client_max_body_size не имеет никакого эффекта?

Я знаю, что об этом уже спрашивали несколько раз, но я просто не могу заставить его работать в моей конфигурации. Я получаю сообщение об ошибке 413 при попытке загрузить файлы, размер которых превышает значение nginx по умолчанию client_max_body_size с 1 МБ.

Это мои конфиги:

nginx.conf:

http {
    client_max_body_size 500M;
    limit_req_status 429;
    limit_conn_status 429;
    limit_req_zone $binary_remote_addr zone=worktoday:40m rate=10r/s;

    sendfile on;
    tcp_nopush on;
    tcp_nodelay on;
    keepalive_timeout 65;
    types_hash_max_size 2048;

    include /etc/nginx/mime.types;
    default_type application/octet-stream;

    access_log /var/log/nginx/access.log;
    error_log /var/log/nginx/error.log;

    gzip on;
    gzip_disable "msie6";

    include /etc/nginx/conf.d/*.conf;
    include /etc/nginx/sites-enabled/*;
}

mysite.com:

  server {
      client_max_body_size 500M;
      listen 80;

      location / {
          client_max_body_size 500M;

          proxy_pass http://backend;

          proxy_set_header Host $host;

      }

  }

  upstream backend {
      client_max_body_size 500M;
      least_conn;

      server 172.16.10.10;
      server 172.16.10.12;
  }

Я перепробовал все комбинации, ставя client_max_body_size во всех местах (как сейчас), только в некоторых, установив его на 0 (чтобы отключить любой лимит) и т. д.

Я отчаянно пытаюсь решить это.

За nginx находится приложение фляги, работающее с gunicorn. Я уже попробовал приложение само по себе (без nginx спереди), и оно работает.

Я действительно ценю любую помощь здесь, спасибо.

1 ответ

Решение

Хорошо, так получается, что вчера, когда я задал этот вопрос, я полностью сгорел и забыл нашу конфигурацию развертывания.

Наш главный сервер действует как балансировщик нагрузки, а позади у нас есть два других сервера, которые также имеют nginx. Я забыл о существовании двух других nginx, и они были теми, кто отклонял запросы.

настройка client_max_body_size на тех двоих наконец-то исправили мою проблему.

Совет: иногда лучше ложиться спать и возвращаться свежим, чтобы решить ваши проблемы.

Другие вопросы по тегам