私はApacheの背後で竜巻を実行しています。プロキシサーバーを作成しました。
ProxyRequests On
ProxyPass /chat/ http://localhost:8888/chat/
このコードはうまく機能し、すべてのリクエストを tornado に渡し、レスポンスをクライアントに返します。
今、長いポーリングにトルネードを使用しています。短い時間間隔で終了するリクエストの中には、このリバース プロキシが正常に動作する 1 分未満と言うものがあります。ただし、特定の長いポーリング リクエストでは、502 プロキシ エラーが発生します。このプロキシ エラーの理由は、Apache が長いポーリング要求を 1 分間 (デフォルトで) 保持できるためです。リクエストをクローズするため、プロキシ エラーが発生します。
さて、ディレクティブを次のように変更しました
ProxyRequests On
ProxyPass /chat/ http://localhost:8888/chat/ timeout=12000
つまり、デフォルトのタイムアウトを 12000 秒に変更しました。
これは現在、私にとってはうまく機能しています。しかし、これは問題の最善の解決策ではありません。理想的には、長いポーリング リクエストは、指定されたタイムアウトを超えることができます。だから私の質問は
- タイムアウトを無限にする方法は? つまり、リクエストが Apache によってクローズされることはありません。
- また、コメントしてください: トルネードのパフォーマンスは、プロキシ サーバーとして Apache を経由することによって低下しますか?