2014-09-19 3 views
5

스택 : 플라스크 0.10 + uwsgi 1.4.5 +의 nginx 1.2.3업로드 큰 파일의 nginx + uwsgi

내 응용 프로그램을 통해 작은 파일 (< 100,000)을 업로드 할 수 있지만 큰 사람은 실패합니다. uwsgi 로그에 표시되는 내용 :

유효하지 않은 (너무 커서) CONTENT_LENGTH. 버킷.

nginx 로그에 아무 것도 표시되지 않습니다.

내가 성공없이 다음 시도 :

  • [Nginx에의 conf] client_max_body_size 0 또는 20M
  • [uwsgi의 conf] 리미트 포스트 : 0 20000000
  • [플라스크의 conf] MAX_CONTENT_LENGTH = 20,000,000

그래서 내 질문 :

  1. 다른 곳에서 변경할 수있는 conf가 있습니까?
  2. uwsgi/nginx에서 런타임에 사용 된 옵션을 확인하는 방법이 있습니까?
+0

누가 플라스크에 MAX_CONTENT_LENGTH를 추가하고 (답변을 삭제했는지) 알려 주신 분, 시도했지만 도움이되지 않았습니다. –

+0

그 이유는 삭제 한 이유입니다. uwsgi [출처] (https://github.com/unbit/uwsgi/blob/master/core/protocol.c#L429)를보십시오. 오류 메시지가 들어 있습니다. 그래서 저는'limit-post'가 업데이트되지 않았 음을 확신합니다. urwsgi를 다시 시작 하시겠습니까? 또한 다른 uwsgi 구성을 확인하십시오. 아마도 '제한 - 게시'가 포함될 것입니다. –

+0

uwsgi 소스에서 볼 수 있듯이 : 'limit-post'가 없으면 uwsgi에서 게시물 크기가 제한되지 않습니다. uwsgi 프로세스를 확인하십시오. debian'/ usr/share/uwsgi/conf/default.ini'에도 응용 프로그램 config가로드됩니다. –

답변

8

uwsgi의 문제점 limit-post params. source을보십시오. 이 변수는 다른 설정에 의해 무시 될 수 있습니다. 예를 들어 debian config의 설정은 /usr/share/uwsgi/conf/default.ini입니다.

+0

limit-post = 0 나를 위해 속임수를 사용했습니다. – radtek