2013-05-01 3 views
4

Я использую Nginx и uwsgi с приложением wsgi. Когда я пытаюсь загрузить изображение, иногда приложение не получает изображение, а там была ошибка 413 entity too large.Nginx: 413 объект слишком большой - файл не доходит до приложения

Я исправил эту проблему, добавив client_max_body_size 4M; и мой Nginx конф выглядит примерно так:

//Add sample Nginx Server 
//Block here 

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

+0

Я думаю, что вы сделали правильно. Но также проверьте права доступа к каталогу и журналы Nginx для получения информации о сбоях. – lalit

+0

нет ошибок в журнале ошибок. Интересно, почему .. у них есть разрешения, так как я сказал, что это работает от некоторых клиентов, и это доцентная работа от некоторых. Я пробовал почти из всех браузеров, и результаты случайны, а не Согласовано. – rakesh

+0

Можете ли вы добавить пример конфигурации Nginx (в основном серверный блок), который вы используете в своем вопросе? – lalit

ответ

2

Это означает, что максимальный размер файла превышает размер выгрузки. См. client_max_body_size

Так что попробуйте использовать вместо использования фиксированного значения.

server { 
    [...] 
    client_max_body_size 0; 
    [...] 
} 

Значение 0 отключает проверку максимальной загрузки, я бы рекомендовал поставить фиксированное значение, такие как 3M, 10M и т.д ... вместо того, чтобы хотя.

+1

plus 1 Задание того, как отключить максимальную загрузку. –

+0

Этот параметр может быть добавлен в контекст 'http' или' server' или 'location'. –

4

Если вы получаете 413 Request Entity Too Large ошибок при попытке загрузки, вам необходимо увеличить ограничение размера в nginx.conf или любом другом файле конфигурации. Добавьте client_max_body_size xxM в раздел сервера, где xx - это размер (в мегабайтах), который вы хотите разрешить.

http { 
    include  mime.types; 
    default_type application/octet-stream; 
    sendfile  on; 
    keepalive_timeout 65; 

    server { 
     client_max_body_size 20M; 
     listen  80; 
     server_name localhost; 

     # Main location 
     location/{ 
      proxy_pass   http://127.0.0.1:8000/; 
     } 
    } 
} 
Смежные вопросы