Node.js+Express on IIS(续)

前一篇文章介绍了如何用iis来伺服node网站(开发期间特别有用),结果还落掉一点,我们用node来做restful服务的时候,很多时候可能要响应500系列的状态码,并不是整个系统从头到尾都是200,靠返回一个result code来搞定。这在用node伺服的情况下毫无问题,比如:

res.send(500,"username invalid"); //express

前台正常接到“username invalid”的响应和500的状态码,可是一用iis,却跳出了它的出错页,这种情况,本来在c#开发,指定一句:

Response.TrySkipIisCustomErrors = true;

就可以了,但是node下显然只能从唯一的入口web.config着手了,一番搜索:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <httpErrors existingResponse="PassThrough" />
    </system.webServer>
</configuration>

我的是在server2008下,也就是说iis7,可行。

stack overflow下有些人说7.5下貌似不行,我懒得试了,现在iis8都有了,还是自己真碰到不行的时候再解决吧~~~

当然,我还是可以备份一个解决方案下来,以备不时之需

cd C:WindowsSystem32inetsrv
appcmd unlock config /section:httpErrors
原文地址:https://www.cnblogs.com/walkerwang/p/3595329.html