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
手順:
- ヘッダー「Key:Value」で 127.0.0.1:8000 にアクセスすると、 に
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 でテスト済み)