从 Google Compute Engine 外部访问 Node.js 服务器
Reaching Node.js server externally from Google Compute Engine
我在 GCE node.js 运行 上有一个简单的服务器,但我无法从外部访问该服务器。我不确定哪里出了问题,因为没有太多迹象。这是我的代码:
var express = require('express');
var app = express();
var bodyParser = require('body-parser');
var fs = require('fs');
app.use(function(req, res, next){
console.log('Request Type:', req.method);
console.log('Request query:', req.query);
next();
});
app.use(bodyParser.urlencoded({ // to support URL-encoded bodies
extended: true
}));
const PORT = 8080;
app.get("/getVideo", function (req, res){
fs.readFile('./index.html', function (err, html){
res.writeHead(200, {'Content-Type': 'text/html'});
res.write(html);
res.end();
})
});
app.listen(PORT, '0.0.0.0');
我可以ping通GCE暴露的外网IP,但是就是无法访问。我还需要其他设置吗?或者代码有误?
我从Hiren的评论中解决了它。更进一步,我实际上已经按照他之前所说的做了,但真正做到的是标签。如果你随机设置一些东西,它就不会工作,因为它需要匹配其他一些标签。但我将其留空只是为了测试,并将其应用于所有实例,并且有效。
我在 GCE node.js 运行 上有一个简单的服务器,但我无法从外部访问该服务器。我不确定哪里出了问题,因为没有太多迹象。这是我的代码:
var express = require('express');
var app = express();
var bodyParser = require('body-parser');
var fs = require('fs');
app.use(function(req, res, next){
console.log('Request Type:', req.method);
console.log('Request query:', req.query);
next();
});
app.use(bodyParser.urlencoded({ // to support URL-encoded bodies
extended: true
}));
const PORT = 8080;
app.get("/getVideo", function (req, res){
fs.readFile('./index.html', function (err, html){
res.writeHead(200, {'Content-Type': 'text/html'});
res.write(html);
res.end();
})
});
app.listen(PORT, '0.0.0.0');
我可以ping通GCE暴露的外网IP,但是就是无法访问。我还需要其他设置吗?或者代码有误?
我从Hiren的评论中解决了它。更进一步,我实际上已经按照他之前所说的做了,但真正做到的是标签。如果你随机设置一些东西,它就不会工作,因为它需要匹配其他一些标签。但我将其留空只是为了测试,并将其应用于所有实例,并且有效。