为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

白板的微信 2019-12-04 12:53:29
我在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>
查看完整描述

3 回答

?
一只萌萌小番薯

TA贡献1795条经验 获得超7个赞

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


查看完整回答
反对 回复 2019-12-04
?
神不在的星期二

TA贡献1963条经验 获得超6个赞

最终,有效的方法是在我的应用程序中修复了请求网址。我们已经从使用express切换到了hapi,所以我已经将这段代码从hapi转换回了express,而无需先对其进行测试,但是它应该可以带您入场。


app.use(function (req, res, next) {

    if(!settings.serverPath) return next();


    console.log(req.url);

    var regex = new RegExp('(' + settings.serverPath + ')(/.+)', "i");

    req.url = req.url.replace(regex, "$2");

    console.log(req.url);

    return reply.continue();

});


//set up your routes here...


查看完整回答
反对 回复 2019-12-04
  • 3 回答
  • 0 关注
  • 809 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信