">
服务器,位于德国
Windows Server 2008 / IIS 7
node.js 0.8.22
iisnode 0.2.2 x64
web.config
<configuration>
<system.webServer>
<handlers>
<add name="iisnode" path="server.js" verb="*" modules="iisnode" />
</handlers>
<rewrite>
<rules>
<rule name="DynamicContent">
<conditions>
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="True"/>
</conditions>
<action type="Rewrite" url="server.js"/>
</rule>
</rules>
</rewrite>
<iisnode watchedFiles="*.js;lib\*;node_modules\*;styles\*;ui\*;views\*" />
</system.webServer>
</configuration>
server.js
var port = process.env.NODE_ENV == 'production' ? process.env.PORT : 3000;
require('./lib/server').listen(port);
问题:
有时我得到200响应,但有时是404 (找不到文件或目录)。
如果我真的从俄罗斯,德国或美国请求,回应是200。
如果我真的从中国请求,有时响应是404 (取决于ISP,时间,也许还有其他的东西)。
404响应看起来iis找不到server.js
200响应示例(使用express Vpn,连接到美国):
2013-04-29 02:42:58 W3SVC1 LOFT4002 188.138.16.31 GET /zazaza - 80 - 180.150.157.51 HTTP/1.1 Mozilla/5.0+(Windows+NT+6.2;+WOW64)+AppleWebKit/537.31+(KHTML,+like+Gecko)+Chrome/26.0.1410.64+Safari/537.31 connect.sid=s%3ABHin0EtiPcJbD6GCeXE2hb_1.mNHhYwIs%2BvLKcJcXc1igMH4O%2FIkuwQdygd1XjN7ediM - test.amelisa.ru 200 0 0 367 530 514
404错误示例(无vpn,来自中国的请求):
2013-04-29 02:32:47 W3SVC1 LOFT4002 188.138.16.31 GET /zazaza - 80 - 112.90.90.18 HTTP/1.1 Mozilla/5.0+(Windows+NT+6.2;+WOW64)+AppleWebKit/537.31+(KHTML,+like+Gecko)+Chrome/26.0.1410.64+Safari/537.31 connect.sid=s%3AdL_RALh0qLd0eLoCxZUk6Po-.N9h97BMFy9%2Fm9tl8lrQd%2FIHQjwpwzEXfWC7f4%2FrHxpY - test.amelisa.ru 404 0 0 1390 532 436
iisnode没有日志,也没有404请求的踪迹,所以我认为它甚至没有启动它们。
此服务器上的所有iisnode/node.js站点都存在相同问题。
但Asp Net Mvc网站在此服务器上无论如何都会返回200,所以可能不是中国的金盾问题。
我可以提供任何信息。
任何帮助都将不胜感激。
发布于 2019-08-30 20:44:49
尝试创建到您的解决方案的路由以进行测试,如下所示:
//my route to test "GET", make sure if your route is "POST"
app.get('/test', function(req, res){
res.json(true);
});
现在使用url进行测试:http://test.amelisa.ru/test
当没有到该路径路由时,就会发生此错误。我也遇到了同样的问题,它得到了解决。
我希望它能帮上忙。如果没有,请在“./lib/server”中分享您的代码以获得更多帮助。
https://stackoverflow.com/questions/16271190
复制