2016-09-22 8 views
0

私はnodejs(0.12)とexpress(3.1.0)を使用しています。私のサーバーは、いくつかの時間のために完璧に動作を続けているが、いくつかの時間の後に、それは400(悪い要求)を与え始めると、それはそれを固定するために、次のすべての要求nodejsサーバーが不正な要求(400)エラーを出しました。どうして ?

message: "Error: Bad Request 
at SendStream.error (/var/www/storehippo/node_modules/express/node_modules/send/lib/send.js:145:16) 
at SendStream.pipe (/var/www/storehippo/node_modules/express/node_modules/send/lib/send.js:298:31) 
at Object.static (/var/www/storehippo/node_modules/express/node_modules/connect/lib/middleware/static.js:83:8) 
at Object.handle (eval at eval at wrapHandle (/var/www/storehippo/node_modules/newrelic/lib/instrumentation/connect.js:1:0)) 
at /var/www/storehippo/node_modules/express/node_modules/connect/lib/proto.js:199:15 
at /var/www/storehippo/node_modules/newrelic/lib/transaction/tracer/index.js:157:28 
at Object.<anonymous> (/var/www/storehippo/dist/dist_17-09-2016_10:20:03/app/index.js:252:5) 
at Object.handle (eval at eval at wrapHandle (/var/www/storehippo/node_modules/newrelic/lib/instrumentation/connect.js:1:0)) 
at /var/www/storehippo/node_modules/express/node_modules/connect/lib/proto.js:199:15 
at /var/www/storehippo/node_modules/newrelic/lib/transaction/tracer/index.js:157:28" 

400を与え続ける 、私は自分のサーバーを再起動する必要がとそれの根本的な原因を見つけることができません。

根本原因を突き止めて解決するにはどうすればよいですか?

+1

これ以上の情報を提供する必要があります。 –

+0

問題を解決するためのコードをご提供ください。 –

+0

@ravishankarまあ?あなたはそれを解決しましたか? – rsp

答えて

1

まず、ノード0.12を使用しています。現在LTSバージョン(すべての用途で推奨)は4.5.0で、現在のバージョンは6.6.0です(6.xは来月LTSになります)。非常に古いバージョンを使用しているため、Nodeのアップグレードを検討することもできます。メンテナンス期間は0.12ヶ月で終了し、アップデートはもう終了しません。https://github.com/nodejs/LTS#lts_schedule

使用しているExpressモジュールも古くなっています。最新の3.xは3.21.2だと思いますが、Expressの現在のバージョンは4.14.0です。

ここで問題を見つけたい場合は、/var/www/storehippo/dist/dist_17-09-2016_10:20:03/app/index.jsの行252を見てみることをお勧めします。これは、そのスタックトレース内に自分のコードの唯一の行であるように思われるからです。他の行はすべて外部モジュールであるようですが、問題がこれらのモジュールの1つにある可能性もあります。

サーバーが正常に動作し、不正行為を開始する理由はたくさんある可能性があります。メモリリークが発生している可能性があります。解放されずにしばらくしてリソースがなくなり、他のリクエストが失敗する原因となります。

残念ながら、問題の発見に役立つ情報はありませんでした。

関連する問題