IIS,Node.js和带有IISNode的Web应用程序未通过虚拟目录正确配置

我在IIS中具有以下设置:


默认网站(www.foo.com)托管标准html网站

运行IIS节点的默认网站(www.foo.com/bar)下的Web应用程序

节点项目正在利用快递

我一生都无法正确配置此东西,因此当我单击Web应用程序时,它将正确地服务于节点应用程序。我认为我的问题出在web.config。有人可以帮助我编写正确的web.config使其正常工作吗?我的配置的当前版本将为我提供一个节点响应,该响应说它无法以我键入的任何URL获取资源。


这是我的配置的当前版本:


<configuration>

  <system.webServer>    

    <handlers>

      <add name="iisnode" path="app.js" verb="*" modules="iisnode" />

    </handlers>    

    <rewrite>

      <rules>

        <rule name="bar">

          <match url="bar/*" />

          <action type="Rewrite" url="app.js" />

        </rule>

      </rules>

    </rewrite>    

  </system.webServer>

</configuration>


白板的微信
浏览 810回答 3
3回答

一只萌萌小番薯

对于那些无法提供静态文件的用户,请确保在执行ng build之前将您的基本href URL更改为虚拟目录路径,然后从服务器提供您的静态文件。希望对您有所帮助。

神不在的星期二

最终,有效的方法是在我的应用程序中修复了请求网址。我们已经从使用express切换到了hapi,所以我已经将这段代码从hapi转换回了express,而无需先对其进行测试,但是它应该可以带您入场。app.use(function (req, res, next) {&nbsp; &nbsp; if(!settings.serverPath) return next();&nbsp; &nbsp; console.log(req.url);&nbsp; &nbsp; var regex = new RegExp('(' + settings.serverPath + ')(/.+)', "i");&nbsp; &nbsp; req.url = req.url.replace(regex, "$2");&nbsp; &nbsp; console.log(req.url);&nbsp; &nbsp; return reply.continue();});//set up your routes here...
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Node.js