これらのいずれかが機能するかどうか試してください:
1) IISNode でキャッシュを設定します。app.use(express.static(path.join(__dirname, 'public'), {maxAge: 86400000}));
2) youriisnode.js からのすべてのレスポーズをキャッシュする新しい IIS ルールを追加します。
また
3)
iisnode で静的コンテンツを提供する最善の方法は、IIS 静的ファイル ハンドラーが node.js ではなく静的コンテンツの要求を処理するように URL 書き換えモジュールを構成することです。IIS で静的コンテンツを提供すると、キャッシングに関するカーネル レベルの最適化が行われ、JavaScript コードに侵入する必要がないため、node.js メカニズムを使用してこれらのファイルを提供するよりもパフォーマンスが大幅に向上します。
web.config を作成します。
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.webServer>
<handlers>
<add name="iisnode" path="server.js" verb="*" modules="iisnode"/>
</handlers>
<rewrite>
<rules>
<rule name="LogFile" patternSyntax="ECMAScript" stopProcessing="true">
<match url="^[a-zA-Z0-9_\-]+\.js\.logs\/\d+\.txt$"/>
</rule>
<rule name="NodeInspector" patternSyntax="ECMAScript" stopProcessing="true">
<match url="^server.js\/debug[\/]?" />
</rule>
<rule name="StaticContent">
<action type="Rewrite" url="public{REQUEST_URI}"/>
</rule>
<rule name="DynamicContent">
<conditions>
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="True"/>
</conditions>
<action type="Rewrite" url="server.js"/>
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
これが行うことは次のとおりです。
他のすべての URL (例: /a/b/c?foo=12) のリクエストは server.js アプリケーションに送信され、そこに実装されたロジックに従って処理されます。Express アプリの場合、Express ルートが適用されます。
元のソース: https://github.com/tjanczuk/iisnode/issues/160#issuecomment-5606547