Nginxの背後にあるリモートサーバーにdjango 1.3があります。
django を apache + mod_wsgi で実行すると、apache ログ ファイルでエラーを確認できます。大丈夫ですが、コンソールに入れたいです。
django 独自の開発サーバーを実行すると、DEBUG = False の場合にのみコンソールでスタック トレースのエラーが発生します。DEBUG モードのコンソール出力
Exception happened during processing of request from (..., ...)
Traceback (most recent call last):
File "/usr/local/python/lib/python2.7/SocketServer.py", line 284, in _handle_request_noblock
self.process_request(request, client_address)
File "/usr/local/python/lib/python2.7/SocketServer.py", line 310, in process_request
self.finish_request(request, client_address)
File "/usr/local/python/lib/python2.7/SocketServer.py", line 323, in finish_request
self.RequestHandlerClass(request, client_address, self)
File "/usr/local/python/lib/python2.7/site-packages/django/core/servers/basehttp.py", line 570, in __init__
BaseHTTPRequestHandler.__init__(self, *args, **kwargs)
File "/usr/local/python/lib/python2.7/SocketServer.py", line 641, in __init__
self.finish()
File "/usr/local/python/lib/python2.7/SocketServer.py", line 694, in finish
self.wfile.flush()
File "/usr/local/python/lib/python2.7/socket.py", line 301, in flush
self._sock.sendall(view[write_offset:write_offset+buffer_size])
error: [Errno 32] Broken pipe
理由を知りたいですか?なぜdjangoは名前のない例外を出力するのですか? DEBUG 変数に依存するのはなぜですか。
このエラーは、リクエスト オブジェクトにアクセスできない場合に、主にビューの外で発生します。そのため、ミドルウェアやロギング ハンドラーを使用してキャッチすることはできません。
アップデート。djangoサーバーに直接リクエストしても、壊れたパイプが得られないことに気付きました。Nginxプロキシdjango中に問題が発生する可能性がありますか?