Node.js服务器在浏览器中超时,但cURL请求工作

我正在开发一个我不拥有的Ubuntu服务器。 这是我的第一个节点应用程序。

Node.js已经安装在服务器上。 我创build了一个简单的服务器文件:

Server.js

var http = require("http"); http.createServer(function (request, response){ response.writeHead(200, {'Content-Type': 'text/plain'}); //response to send out response.end('Hello sof'); //print to screen console.log('request processed\n'); }).listen(1234); console.log("Server Running on 1234"); 

在腻子中,我用这个命令运行服务器:

 node Server.js 

在另一个腻子实例中,我运行这个命令:

 curl http://my.url.website.ca:1234/*curl request*/ 

在运行curl命令的putty实例中,我得到这个输出:

你好sof

在运行节点服务器的putty实例中,将打印到屏幕上:

请求处理

所以看起来像服务器正在运行。 但是,当我把http://my.url.website.ca:1234到我的浏览器中,我得到这个错误:

GET http://my.url.website.ca:1234/net :: ERR_CONNECTION_TIMED_OUT

并且在服务器正在运行的腻子窗口中没有任何内容被打印到屏幕上。 我做错了什么或缺less我的代码中的东西? 或者这是一个configuration问题?

我把服务器的人链接到这个页面,他确认这个问题实际上是防火墙。 我试图使用的端口没有打开。 该端口然后打开,我可以通过浏览器连接。

然后我用我的jQuery应用程序进行testing,并有一个CORS错误。 对于和我一样遇到同样问题的任何人,你可能会接下来会遇到这个问题。 我通过添加这些标头来修复它:

 response.setHeader('Access-Control-Allow-Origin', 'http://acvsapps.med.uottawa.ca'); response.setHeader('Access-Control-Allow-Methods', 'GET, POST, OPTIONS, PUT, PATCH, DELETE'); response.setHeader('Access-Control-Allow-Headers', 'X-Requested-With,content-type'); 

干杯!