2012-06-08 54 views
0

我有一個使用Pinax開發的Django網站。當我在apache + mod_wsgi中部署它時,它工作正常。但是當我將它部署在nginx + uwsgi中時,它幾乎可以正常工作,但該頁面包含{% csrf_token %}標記。崩潰的頁面不顯示Django錯誤頁面,但顯示Nginx 502錯誤頁面。 Nginx的錯誤日誌是:Nginx Django csrf_token獲取502錯誤無效標題

2012/06/08九點11分59秒[錯誤] 30224#0:* 79上游發送無效報頭 而從上游,客戶機讀取響應標頭:211.142.12.3, 服務器:mysite.com,請求:「GET/discuss/HTTP/1.1」,上游: 「uwsgi://127.0.0.1:9001」,主機:「mysite.com」,引用者: 「http:// mysite的.com /」

uwsgi顯示:

{地址SPAC e用法:42319872字節/ 40MB} {rss用法:22573056 bytes/21MB} [pid:21398 | app:0 | req:1/3] 110.178.82.221(){42 varars in 988 bytes} [Fri Jun 8 18時27分01秒2012] GET /討論/ =>產生31139個 在2306毫秒(HTTP/1.1 200)5頭在358個字節(核心0 1個開關 )

上發生的錯誤字節GET請求,而不是POST請求。我測試了這一點 - 當我從模板中刪除csrf_token令牌時,沒關係。所以,令牌和錯誤之間必須有關係,而不是其他任何東西。

發生了什麼事?

+0

您的視圖代碼是什麼? – okm

+0

視圖代碼非常簡單:get model,render_to_response。 – Yang

+0

不應該有一些'POST'過程,如頁面中的'csrf_token'。 – okm

回答

0

好的,它已經解決了。我通過編譯源代碼安裝了uwsgi。現在我刪除該版本,並重新安裝它使用pip install uwsgi,一切都很好!