似乎 uwsgi 在异步模式下记住了先前请求的标头!
我用 uwsgi 部署了一个非常简单的应用程序:
def application(environ, start_response):
start_response('200 OK', [('Content-Type', 'text/plain')])
environ_repr = '\n'.join(sorted(key.ljust(30) + ' = ' + repr(value) for key, value in environ.items()))
return [environ_repr]
并运行它:
uwsgi --module index -s 0.0.0.0:8000 -p 1 --async 5
重新生成问题的步骤:
- 访问 127.0.0.1:8000 ,标题为“Key:Value”,里面有
HTTP_KEY
入口environment
,OK。 - 现在,访问没有该标题的 127.0.0.1:8000 ,但
HTTP_KEY
条目仍然存在environment
,哎呀!
注意:同样的事情发生在其他标题上,比如Cookie
!
(使用 uwsgi 1.0、1.2.4 和 1.3-dev 以及 python 2.7 测试)