azure node app运行openssl get error' spawn openssl ENOENT'

时间:2016-08-25 02:18:01

标签: node.js azure express openssl

以下代码:

var out = '';
  var file = __dirname + '/../public/images/_DSC5813.jpg';
  execFile('openssl', ['sha1', file], function (err, sdtout, sdterr) {
    if (err) {
      out = err.message; // the error message is 'spawn openssl ENOENT'
      console.log(err);

    }
    else {
      out = sdtout.toString();
      console.log(sdtout);
      console.log(out);

    }
    res.render('index', { title: 'Express', message: out });
  });

任何人都有同样的问题似乎是天蓝色的服务器没有正确安装openssl?!

1 个答案:

答案 0 :(得分:1)

是的,Azure Web App默认环境不安装openssl应用程序。您可以转到https://<your_web_app_name>.scm.azurewebsites.net/Env.cshtml查看所有已安装的应用程序/环境和路径变量。

如果需要在项目中执行openssl应用程序,可以将可执行应用程序openssl.exe放入包中,然后再一起部署到Azure。当您需要在项目中执行时,可以利用应用程序目录路径中的相对路径。