bo-tech

heart and tech with love.

Azure webappsでnode アプリをdeployするときに困ったこと

AZURE WEB APPSでnodeアプリをデプロイ時にCERT_UNTRUSTEDが出る

という現象にハマった。

色々調べてみるとそもそもこのエラー自体がversionに起因するものみたいだ。

とはいえ、web appのversion指定ってどこでやるんだろうか。

まず思ったのがazure portalの設定で

アプリケーション設定に

WEBSITE_NODE_DEFAULT_VERSIONというのがあるのでここを設定。

しかしデプロイ時に使うのはここのバージョンではないようだ。

調べてみると

package.json

"engines": {
  "node": ">=0.10.0"
}

とか書くとこれが利用されるっぽい。

startしない

ライブラリにazure-storageを利用している。

この内部で

require('util')._extend

を実行していて、_extendはundefined。

確かにnodeの0.6系だとこのメソッドは存在しないようだ。

ということで、nodeを最新に上げておこう。

nodeのwindowsバイナリの新しいやつを持ってきて、

wwwroot\binに配置

いつのタイミングか分からんが自動生成される iisnode.yml

nodeProcessCommandLine: D:\home\site\wwwroot\bin\node.exe 

という風に書き換えて再スタート!