Привет, я пытаюсь запустить веб-сервер node.js на порту 80 на Ubuntu 12.04.2. Эта машина является чистой установкой, и единственное, что я установил, - это openssh-server nodejs и экран. Когда я запускаю узел webservice на порт 80, я могу перейти к браузеру и ввести localhost, и я просмотрю свой сайт. Однако, когда я пытаюсь получить доступ к сайту с другой машины, я получаю тайм-аут. Однако я могу использовать SSH и PING. Как настроить ubuntu так, чтобы приложение node.js обслуживало мой сайт. Сайт отлично работает, когда я размещаю его на своем ноутбуке (Windows 7), а другой ноутбук получает доступ к сайту по моему ip-адресу.Как получить node.js express.js на порт 80
Я не хочу запускать Apache или nginx. Есть какой-либо способ сделать это?
//---ExpressJS
console.log('Initializing Express...');
var express = require('express');
var app = express();
//---Middleware: Allows cross-domain requests (CORS)
var allowCrossDomain = function(req, res, next){
res.header('Access-Control-Allow-Origin', '*');
res.header('Access-Control-Allow-Methods', 'GET,PUT,POST,DELETE');
res.header('Access-Control-Allow-Headers', 'Content-Type');
next();
}
///---MemoryStore
//var MemoryStore = express.session.MemoryStore;
//---App config
app.configure(function() {
var pub_dir = __dirname + '/public';
app.set('views', __dirname + '/views');
app.set('view engine', 'jade');
app.set("trust proxy", true);
app.use(express.favicon(__dirname+'/favicon.ico'));
app.use(express.compress());
app.use(express.bodyParser());
app.use(express.cookieParser());
app.use(express.session({secret: 'cogswell'}));
app.use(express.methodOverride());
app.use(allowCrossDomain);
app.use(app.router);
app.use(express.static(__dirname));
});
//---Start listening
var port = 80;
app.listen(port);
console.log('Webservice started on port: '+port);
UPDATE: сеть имеет массивный брандмауэр
yes im running sudo node webservice.js – Jareddlc
В идеале вы не захотите запускать свой сервер как пользователь root, а скорее привилегированный пользователь, так что если есть нарушение безопасности (например, необработанная инъекция), нарушенный пользователь не делает У вас есть корень на хосте. –