【问题标题】:Azure Website: Kudu fails to installAzure 网站:Kudu 安装失败
【发布时间】:2014-01-09 07:15:25
【问题描述】:

我昨天开始遇到这个问题。运行时部署失败:

npm install kudusync -g

出现以下错误:

Error: SSL Error: CERT_UNTRUSTED

从一些搜索来看,Kudu 的依赖项之一似乎是自签名或未签名的。似乎我可以禁用 Node 的 SSL 检查——但这似乎是一个危险的选项,不推荐。有人知道其他解决方法吗?

azure中的输出如下:

远程:npm http GET https://registry.npmjs.org/kudusync[K 远程:......[K

远程:npm http GET https://registry.npmjs.org/kudusync[K 偏僻的: ................................................ .......[K

远程:npm http GET https://registry.npmjs.org/kudusync[K 远程:npm 错误!错误:SSL 错误:CERT_UNTRUSTED[K

远程:npm 错误!在客户端请求。 (d:\Program Files (x86)\nodejs\node_modules\npm\node_modules\request\main.js:440:26)[K remote:网站部署过程中发生错误。[K

【问题讨论】:

  • 您可能使用的是非常旧的 NPM 版本。来自blog.npmjs.org/post/71267056460 - 如果您出于某种原因仍在使用 Node v0.6 或非常旧的 v0.8 版本,您可以通过执行 npm config set strict-ssl false 来解决此问题,尽管我会真的建议您升级,出于这个和许多其他原因
  • 我似乎无法通过package.json指定较新的版本,但是这个问题会突然开始似乎很奇怪。我之前部署没有问题,并且没有对我的部署方式进行任何更改。

标签: node.js azure ssl deployment azure-web-app-service


【解决方案1】:

中断很可能是指this change npm made。

您有自定义部署脚本还是标准脚本?对于自定义,您的选择是:

  • 使用更新版本的 npm
  • 在运行 npm 之前运行 npm config set strict-ssl false
  • 如果您的自定义脚本引用了KUDU_SYNC_COMMAND,请将其重命名为KUDU_SYNC_CMD

【讨论】:

  • 第二个选项有效但感觉不安全。第三个选项不适用于我的情况。我没能找到在 Azure 部署脚本中指定 NPM 版本的方法,这可能吗?
  • 第三个选项实际上对你有用。看看gist.github.com/davidebbo/5357141 看看我的意思。基本上KUDU_SYNC_CMD 会传递给您,因此您根本不需要 npm install kudusync。如果不清楚,您可以分享您的完整脚本,我会帮助澄清。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-02-20
相关资源
最近更新 更多