Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js Azure错误:SSL错误:使用mongoose时证书不受信任_Node.js_Azure_Npm - Fatal编程技术网

Node.js Azure错误:SSL错误:使用mongoose时证书不受信任

Node.js Azure错误:SSL错误:使用mongoose时证书不受信任,node.js,azure,npm,Node.js,Azure,Npm,有一个本地运行的node.js应用程序,使用mongoose对mlab的mongodb执行crud。没问题 我将我的代码发布到github,然后告诉Azure将我的应用程序作为webapp托管,我在没有mongoose的情况下已经多次这样做了 据我所知,Azure代表我在我的package.json文件上安装了一个npm,因为它将我的应用程序安装到他们的一个web服务器主机上 如果我在我的users.js路径中注释掉这些行: //var mongoose = require('mongoose'

有一个本地运行的node.js应用程序,使用mongoose对mlab的mongodb执行crud。没问题

我将我的代码发布到github,然后告诉Azure将我的应用程序作为webapp托管,我在没有mongoose的情况下已经多次这样做了

据我所知,Azure代表我在我的package.json文件上安装了一个npm,因为它将我的应用程序安装到他们的一个web服务器主机上

如果我在我的users.js路径中注释掉这些行:

//var mongoose = require('mongoose');
//var ObjectID = require('mongodb').ObjectID;
一切都很好,Azure运行我的应用程序

如果我不将其注释掉,我会在Azure日志中记录此错误:

npm http GET https://registry.npmjs.org/mongoose
npm ERR! Error: SSL Error: CERT_UNTRUSTED
为了在我的package.json文件中修复此问题,我有: [1] 已强制azure使用此版本的节点

"engines": {
    "node": "0.8.x"
  },
[2] 试图强制为当前版本

 "mongoose": "^5.3.11",
[3] 试图强迫谈判者使用此版本,因为GitHub抱怨谈判者存在安全问题

“谈判者”:“>=0.6.1”,

我真的很想继续让Azure使用GitHub运行我的web应用程序,而不是进入Azure命令行来安装我的bits,因此我对安装没有太多控制权。猫鼬有些不好的地方


谢谢

您可以尝试更新新证书的定义。 此版本的可能会起作用(通常位于/deps/npm/lib/utils下)

您可能还需要使用附加证书更新该文件,如所述


希望有帮助

尼尔·伦修好了,谢谢。我在运行node的v10.x.x时遇到问题,并尝试返回到V8.x.x以绕过v10中的一个突破性更改,我把V8的名称搞错了。“节点”:“0.8.x”没有得到V8,8.10.0得到了,一切都很好。

“节点”:“0.8.x”
-这是一个非常旧的节点版本。错误来自于npm,因为它不喜欢安全回购的更改。您“真的应该”使用更现代的
节点
npm
。有一些解决办法(关闭SSL),但这只是一个“创可贴”。您将永远无法获得旧版本的商业支持,因此不推荐使用。谢谢,这可能对某些人有用,但对我来说不是。我安装node.js和npm,运行应用程序,在路由中编写几行代码,然后将其发送到GitHub,我的Azure web服务将从那里部署,并且可以正常工作。除非我尝试在package.json文件中引入mongoose。那么在这个简单的过程中,我会在哪里看到config-defs.js呢?它不在我的项目中,在我的package.json中也没有这个名称。再说一次,我告诉Azure运行它后就无法构建它,Azure会构建它,所以我不能在该过程中插入命令或步骤。(好吧,至少我不能,而且我不想让我的学生把这整件事搞得太复杂。)为什么我一直在使用的其他包包括在我的package.json文件中都能正常工作,而mongoose却不能?他们的代码似乎有问题?谢谢