Я делаю сообщение, используя структуру Requests на рабочем потоке (Celery with RabbitMQ в качестве брокера). Он отлично работает в большинстве случаев, но иногда я получаю 413 (слишком большая ошибка запроса). Мне сообщили, что client_max_body_size в nginx установлен на 50M, но, несмотря на то, что наибольший размер сообщения составляет всего 3 МБ, сообщение иногда все еще терпит неудачу. Любые идеи, почему это может произойти?Ошибка 413 на сообщениях с использованием запросов в задании сельдерея
ответ
Вы включили директиву сервера для веб-сервера, прослушивающего порт 80. Порт 80 традиционно используется для трафик http. Однако, если ваше приложение использует https, а не http, вам нужно включить его в директиву сервера, прослушивая порт 443, обслуживающий https.
server {
listen 443;
server_name www.***.com;
client_max_body_size 50M;
.....
EDIT:
В ответ на Ваше разъяснение в комментариях (которые, как представляется, были удалены с тех пор), я хотел бы объяснить проблему вы столкнулись на очень высоком уровне.
Ситуации вы сталкиваясь описываются этой диаграмма:
Проблемная частью вашего процесса является красной стрелки, потому что иногда вы получаете код на 413 об ошибке при проводке большого объект другому серверу.
nginx.conf
что вы можете изменить на своем сервере не влияет красная стрелка. Скорее, это влияет на пунктирной зеленой стрелкой. Пунктирная зеленая стрелка - это потенциальный запрос POST от вашего работника сельдерея на ваш собственный сервер nginx.
Например, вы можете захотеть, чтобы работник сельдерея обработал изображение профиля вашего пользователя с помощью некоторого сложного алгоритма вычисления и, следовательно, инициировал загрузку асинхронно после того, как он был обработан вашим работником сельдерея. Запрос POST затем будет направлен на ваш собственный домен http://yourdomain.com/profile_upload
, на который влияет ваш nginx.conf
.
Исходящий запрос на другой сервер не подлежит вашему серверу nginx.conf
.
Чтобы обойти эту проблему, вы должны поговорить с администратором сервера, на который отправляется ваш запрос, и попросить их увеличить client_max_body_size
на своем сервере.
Он должен быть в той конфигурации сервера, которую вы отправляете. –
- 1. Валюта в задании сельдерея
- 2. Проверьте, есть ли в задании сельдерея
- 3. 413 Ошибка с PHP
- 4. Скребковый сайт с использованием сельдерея
- 5. Ошибка 413 С Drupal Services
- 6. 413 Полная ошибка HEAD
- 7. Ошибка Nginx 413
- 8. Ошибка анализа на задании оператора
- 9. Ошибка в задании JCL
- 10. Ошибка шины в задании cron
- 11. Импорт CSV с использованием сельдерея
- 12. Ошибка загрузки файла 413 - Concrete5
- 13. Параллельное программирование в pyRserve с использованием сельдерея
- 14. По алфавиту сообщения в сообщениях/массиве запросов
- 15. Laravel с использованием фасадов в задании
- 16. Ошибка 413 в websocket, как обращаться?
- 17. Внедрение SOA в Django с использованием сельдерея
- 18. Ошибка при миграции приложения django с использованием сельдерея
- 19. Ошибка сегментации сельдерея
- 20. Ошибка метода в сообщениях # edit
- 21. сельдерея Chord Ответный ошибка
- 22. Странный докер + ошибка сельдерея
- 23. Ошибка импорта сельдерея
- 24. с использованием сельдерея с пирамидой и mod_wsgi
- 25. Ошибка удаления сельдерея длиной
- 26. Настройка сельдерея с Django с использованием mod_wsgi
- 27. Ошибка HTML 501 с использованием запросов Python
- 28. Неустранимая ошибка с использованием python-javabridge JVM в потоке сельдерея с NLTK на Mac OS X
- 29. Ошибка SSL с использованием запросов python (2.7)
- 30. конструктор запросов с использованием «whereNotIn» бросает ошибка
Вы используете http или https? –
Выполняет ли запрос на тот же сервер (где работает django)? –