2017-03-28 11 views
-1

iisでiisでnuxt.jsとexpress.jsのデモをiisnodeでホストしようとしています。 nuxtのページルートには404が表示されていますが、エクスプレスAPIルートは正常に動作しています。IISNODEを使用してIISで404を返すNuxt.jsルート

nuxtが行うすべては、そのルートを処理するすべての表現です。これがなぜ機能していないのか分かりません。

私はiisnodeハンドラと私のweb.configファイルを設定していると私はserver.prod.js

'use strict'; 

var Nuxt = require('nuxt'); 
var app = require('express')(); 
var host = process.env.HOST || '127.0.0.1'; 
var port = process.env.PORT || 3000; 

app.set('port', port); 
// Import API Routes 
app.use('/api', require('./api/index')); 

// Import and Set Nuxt.js options 
var config = require('./nuxt.config.js'); 
config.dev = !(process.env.NODE_ENV === 'production'); 

// Init Nuxt.js 
var nuxt = new Nuxt(config); 
app.use(nuxt.render); 

// Build only in dev mode 
if (config.dev) { 
    nuxt.build().catch(function (error) { 
    console.error(error); // eslint-disable-line no-console 
    process.exit(1); 
    }); 
} 

// Listen the server 
app.listen(port, host); 
console.log('Server listening on ' + host + ':' + port); // eslint-disable-line no-console 
<configuration> 
<system.webServer> 
    <handlers><add name="iisnode" path="server.prod.js" verb="*" modules="iisnode" /></handlers> 
    <rewrite> 
     <rules> 
     <rule name="myapp"> 
      <match url="/*" /> 
      <action type="Rewrite" url="server.prod.js" /> 
     </rule> 
     <!-- Don't interfere with requests for node-inspector debugging --> 
     <rule name="NodeInspector" patternSyntax="ECMAScript" stopProcessing="true"> 
      <match url="^app.js\/debug[\/]?" /> 
     </rule> 

     </rules> 

    </rewrite> 
     <directoryBrowse enabled="true" /> 

     <iisnode devErrorsEnabled="true" debuggingEnabled="true" loggingEnabled="true" nodeProcessCommandLine="C:\Program Files\nodejs\node.exe" /> 

    <!-- exclude node_modules directory and subdirectories from serving 
    by IIS since these are implementation details of node.js applications --> 

    <security> 
     <requestFiltering> 
     <hiddenSegments> 
      <add segment="node_modules" /> 
     </hiddenSegments> 
     </requestFiltering> 
    </security>  

</system.webServer> 
</configuration> 
+0

さらに、最下位レベルの作業の下にある動的ルートが動作すると言えます。私は/myDir/_cat/_subcat/_page.vueというサブディレクトリルートがあり、これはうまくいくようです – Shay

答えて

0

IISノードまでの経路すべてにURLリライトの設定をも含まれています名前付きパイプを使用しているため、サーバはlocahostのTCPポート80でapi呼び出しを失敗していました... サーバ側でフルURLが必要です。

関連する問題