我在node.js中编写了一个很长的过程,但是我希望我的应用程序控件的PHP端能够完成它。我的节点是这样的:
var http = require('http');
http.createServer(function (req, res) {
console.log('Got request')
try{
doProcedure()
} catch(e) {
console.log('Really bad error while trying to do the procedure:')
console.error(e.stack ? e.stack : e)
}
}).listen(8124, "127.0.0.1");
当我在本地计算机上运行时,http://localhost:8124会正确触发。在aws上,我添加了8124端口,但是mydomain.com:8124的请求没有被节点选中。
我尝试停止httpd,然后让节点侦听端口80,以排除端口没有正确转发,但它仍然没有看到任何内容。
我想是两个问题:
奖金问题:我应该采取更好的方式吗?
谢谢大家,
〜约旦
答案 0 :(得分:4)
如果省略listen()的第二个参数,节点将侦听所有IP地址。这样,您可以在本地运行相同的代码进行测试,也可以在EC2实例上运行。
在catch块中,您可能还希望向客户端发回HTTP错误响应。
答案 1 :(得分:2)
你应该有一个10. * ip iirc for aws,你的弹性/动态ip不能被绑定
答案 2 :(得分:0)
您是否尝试在createServer.listen()调用中使用服务器的IP地址(而不是127.0.0.1)?