2

次のコードは、ローカルにデプロイされ、リクエストを受信し、それを別のサーバーに転送してライセンスを検証すると機能します。

var express = require("express");
var app = express();
var request = require("request");

var ddKey = "someKey";
var ddSecret = "someSecret";

var ProId = "someId";
var testLicense = "someLicense";

app.get("/", function(req, res){
  var license = req.query["license"] || "test";
  var url = "https://"+ddKey+":"+ddSecret+"@licenseServer.com/products/"+ProId+"/licenses/check_valid?key="+license;
  request.get(url, {"auth": {"user": ddKey, "pass": ddSecret}, "json": true}, function(error, response, body){
    res.send("BODY:", response.body);
  }); 
});

var port = process.env.PORT || 3001;
app.listen(port, function(){
    console.log("listening on port ", port);
});

ただし、heroku にデプロイし、heroku アプリにリクエストを送信すると、次のメッセージとともに「データが受信されていません」という画面が表示されます。

エラー 324 (net::ERR_EMPTY_RESPONSE): サーバーはデータを送信せずに接続を閉じました。

heroku ログを確認すると、heroku が次のエラーを示していることがわかります。

不適切な形式の HTTP 応答

正しい形式の応答を構成するものを見つけることができません。

ご協力いただきありがとうございます。

4

0 に答える 0