2

node.js と git デプロイを使用して、Azure Web サイトの無料利用枠を試しています。非常に巧妙ですが、ハンドラーの 1 つで Facebook への Web サービス呼び出しを実行しようとすると、500 内部サーバー エラーと次のスタック トレースで失敗します。

Application has thrown an uncaught exception and is terminated:
Error: connect EADDRNOTAVAIL
at errnoException (net.js:670:11)
at connect (net.js:548:19)
at Socket.connect (net.js:613:5)
at Object.<anonymous> (net.js:77:12)
at new ClientRequest (http.js:1091:25)
at Object.request (http.js:1427:10)
at Object.get (http.js:1432:21)

ローカルで実行すると、コードは正常に機能します。これは Azure Web サイトの制限ですか、それともこれを機能させる他の方法はありますか? 私のコードは次のようになります (私はエクスプレスを使用しています):

app.get('/login', function (req, res) {
  var tokenUrl = 'http://foo.com';
  var body = '';
  http.get(tokenUrl, function (tokenRes) {
    tokenRes.on('data', function (chunk) {
      body += chunk;
    }).on('end', function () {
      res.end(body);
    });
  }).on('error', function (err) {
    console.log('Error fetching site: ' + err.message);
  });
}
4

2 に答える 2

0

したがって、これとまったく同じ問題がありましたが、https.get() の呼び出しに問題がありました。https.get() から https.request() に切り替えると、問題が解決しました。http.get() がローカルでうまく機能したことを考えると、それはちょっとおかしいようです。ここで何が起こっているのかを知るのが怖いです:(

于 2013-01-14T15:15:01.453 に答える