2012-01-11 78 views
0

我使用的Nginx + uwsgi + python3uwsgi打破頭

發送任何頭通過start_response順利,但是當我想給一個以上的頭,它變得瘋狂。 例如,如果我寫:

start_response('200 OK', [('Last-Modified', 'Wed, 11 Jan 2012 00:00:00 GMT'), ('Content-Type', 'text/html; charset=windows-1251')]) 

發送的報頭是:

HTTP/1.1 200 OK 
Transfer-Encoding: chunked 
Server: nginx/1.0.11 
Connection: close 
Date: Wed, 11 Jan 2012 04:17:22 GMT 
Content-Type: text/html; charset=windows-1251 
Content-Type: text/html; charset=windows-12 

uwsgi發送相同的報頭的兩倍,甚至更第二個被破壞。

+0

的可能原因之一是字符串python3保持在Unicode中,但HTTP:// projects.unbit.it/uwsgi/wiki/RunOnPython3k表示處理它們沒有問題 – Lisio 2012-01-11 04:49:05

+0

看起來像uwsgi中的一個bug。 – 2012-01-11 08:06:33

回答

0

哪uWSGI和nginx版本?在0.9.8.x和1.0.x中我都無法重現你的錯誤。

您可以檢查uWSGI發送的真正的標頭把它在HTTP模式--http/- HTTP插槽

+0

這是ubuntu的uwsgi-python3的bug。我剛剛下載了穩定版的普通uwsgi,編譯爲pyhton3,現在所有東西都可以正常工作。 – Lisio 2012-01-11 13:41:24