Убунту | Узел | Запустите сервер не как root и не через порт 80 - PullRequest
0 голосов
/ 09 апреля 2020

Насколько я понимаю, небезопасно запускать сервер узла с sudo node index.js.

Я должен запустить его с node index.js. Также у меня есть домен, который связан с сервером, и я хочу открыть веб-приложение с example.com, а не example.com:3030. Он будет работать с портом 80, но использование порта 80 также плохо для безопасности, поэтому мне нужно перенаправить.

Я попробовал сейчас все решения, которые описаны здесь , но ничего из этого не работает для меня.

Вот мой индекс. js:

var os = require('os');
var nodeStatic = require('node-static');
var http = require('http');
var socketIO = require('socket.io');

var fileServer = new(nodeStatic.Server)();
var app = http.createServer(function(req, res) {
  fileServer.serve(req, res);
}).listen(3030);

Сначала я попытался добавить перенаправление с помощью:

iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3030

Я пытался начать с sudo node index.js и node index.js, но в обоих случаях example.com не работал, но example.com:3030 работал.

Я также пытался:

sudo setcap 'cap_net_bind_service=+ep' `which node`

Это также не сработало, но приложение покажет только example.com:3030.

...