AngularJS到远程节点js(express js)REST api连接超时错误

AngularJS到远程节点js(express js)REST api连接超时错误,angularjs,node.js,rest,http,express,Angularjs,Node.js,Rest,Http,Express,标题行中的问题应该非常清楚。我有一个节点js REST api服务器被客户端AngularJS应用程序调用 端口 服务器端在端口3000上运行:代码非常简单: app.get('/', function ( req, res ) { res.sendStatus( string ); }) var server = app.listen(3000, function () { var host = server.address().address; var port =

标题行中的问题应该非常清楚。我有一个节点js REST api服务器被客户端AngularJS应用程序调用

端口

服务器端在端口3000上运行:代码非常简单:

app.get('/', function ( req, res ) {
    res.sendStatus( string );
})

var server = app.listen(3000, function () {
    var host = server.address().address;
    var port = server.address().port;

    console.log( 'Example app listening at http://%s:%s', host, port );
});
客户端正在端口8080上运行:http调用如下所示:

var serverURL = "http://localhost:3000";
$http({ 
    url: serverURL, 
    method:"GET",  
    dataType: 'json' 
}).then( function ( data ) {
    $scope.message = data.data;
}, function ( error ) {
    console.error( error );
});
真实问题

当我在本地运行它时,它与上面的代码配合得很好。但是,当我尝试将服务器端代码放在ip地址为x.x.x.x的云服务器上时,我似乎无法连接。我对代码所做的更改是显而易见的

客户端:

var serverURL = "http://x.x.x.x:3000";
服务器端:

var server = app.listen(3000, 'x.x.x.x', function () { ... }
该错误与您的假设类似:

GET: http://x.x.x.x:3000/ net::ERR_CONNECTION_TIMED_OUT

我不知道发生了什么事。我不认为这是一个超时窗口太小的问题,因为它失败后20秒。我猜我可能需要从随机客户端调用服务器端代码中的权限,但我在这里是瞎猜。非常感谢您提供的任何帮助

您是否尝试过使用API?那么“res.header('Access-Control-Allow-Origin')呢?是的,同样的情况。当它在云上运行服务时超时,当我在本地运行时工作正常。服务器日志?强制端口?你的云服务器托管什么?所有这些都不清楚,但服务器在Redhat上。我有同样的问题,当尝试从非本地机器访问时,服务器超时,我尝试托管我的客户端应用程序(AngularJs)在tomcat上,但没有成功,同样的问题,你找到解决方案了吗?谢谢!