IIS 7、Windows Server 2008、iisnode および node.js 0.10.20 で実行されている Node.js/ Node-soapサービスのセットアップで問題が発生しています。同じコードを使用したこの同じセットアップは、社内の別のサーバーで実行されており、完全に機能しています。問題は、セットアップ プロセスが文書化されておらず、すべてをセットアップした人が新しいサーバーに移行できないことです。また、NodeもIISnodeも予備知識がありません。
これは、出力されるエラー メッセージです。
要求の処理中に iisnode でエラーが発生しました。
HRESULT: 0x2 HTTP ステータス: 500 HTTP 理由: 内部サーバー エラー system.webServer/iisnode/@devErrorsEnabled 構成設定が「true」であるため、この HTTP 200 応答を受信しています。
node.exe プロセスの stdout および stderr のログに加えて、デバッグおよび ETW トレースを使用して問題をさらに診断することを検討してください。
node.exe プロセスによって stderr に生成された出力の最後の 64k を以下に示します。
アプリケーションがキャッチされない例外をスローしたため終了しました: エラー: %1 は有効な Win32 アプリケーションではありません。
\node_modules\soap\node_modules\node-expat\build\Release\node_expat.node
at Module.load (module.js:356:32) at Function.Module._load (module.js:312:12) at Module.require (module.js:364:17) at require (module.js:380:17) at Object.<anonymous> (<Path to application>\node_modules\soap\node_modules\node-expat\lib\node-expat.js:4:13) at Module._compile (module.js:456:26) at Object.Module._extensions..js (module.js:474:10) at Module.load (module.js:356:32) at Function.Module._load (module.js:312:12) at Module.require (module.js:364:17)
- Node.js ファイルに以下を追加しました。
今私がオンラインで見つけたものは、試してみましたがうまくいきませんでした.
このスタック オーバーフローの質問から、次の 2 つのことを試しました。
この部分を Node.js ファイルに追加しました。
<iisnode watchedFiles="*.js;node_modules\*;routes\*.js;views\*.jade" nodeProcessCommandLine="\program files\nodejs\node.exe"/>
シンボリックリンクを作成しました:
mklink /D "C:\Program Files (x86)\nodejs" "C:\Program Files\nodejs"
何か他のことを試したら更新します。
すべての助けをいただければ幸いです。
更新 1 : Enable32-Bit Applications = False.
IIS で設定されていることを確認し、VS 2010 x64 redist
バイナリを修復しました