2017-03-06 76 views
1

我們使用獲取ERR_INCOMPLETE_CHUNKED_ENCODING當Django APIView使用

  • Django的
  • rest_framework
  • gunicorn
  • Postgres的
  • nginx的

一切都在本地工作。但在服務器上,當我打的請求從瀏覽器然後,我就ERR_INCOMPLETE_CHUNKED_ENCODING錯誤,當我做了捲曲,然後回答是

curl: (18) transfer closed with outstanding read data remaining 

即使當我重新啓動gunicorn然後我馬上獲得1請求的響應,但後來它的地方掛起和進一步的請求不起作用。 我正在返回一個空數組以響應測試不工作,所以響應長度不是問題。

在Django中,我從APIView繼承了MyView類(從rest_framework.views導入APIView)。當我將APIView更改爲View(從django.views導入視圖)時,所有事情都開始在服務器上正常工作。不確定是什麼導致問題?它是APIView庫還是gunicorn。 我在本地嘗試過gunicorn,它工作。

回答

1

我在MIDDLEWARE_CLASSES settings.py中添加

'django.middleware.http.ConditionalGetMiddleware' 

,並開始工作。 該類在響應中添加Content-Length標頭。

0

您應該更改用戶的/ var/lib/nginx /的權限,而不是執行gunicorn。如果用戶的用戶名,你解決這個錯誤有:

chown -R username:username /var/lib/nginx