带有https的node.js集群

Luc*_*Luc 0 cluster-computing node.js express

我正在为节点应用程序使用集群npm

var cluster = require('cluster');
var app = express.createServer({
    key: fs.readFileSync('privatekey.pem'),
    cert: fs.readFileSync('certificate.pem')
});

cluster(app)
 .use(cluster.logger('logs'))
 .use(cluster.stats())
 .use(cluster.pidfiles('pids'))
 .use(cluster.cli())
 .listen(443);
Run Code Online (Sandbox Code Playgroud)

但是当我使用端口443时,我的权限被拒绝了。如果使用其他端口,它可以正常工作。显然443是专用于https的,那么如何在我的应用程序中使用它呢?

Pab*_*dez 5

默认情况下,节点无法访问较低的端口(除非您是root)。不过不要害怕,因为任何端口都可以。

通常用于开发目的的是8443

 .listen(8443);
Run Code Online (Sandbox Code Playgroud)

  • +1然后可以将443转发到8443,如下所示:sudo iptables -t nat -A PREROUTING -p tcp --dport 443 -j REDIRECT --to-port 8443然后sudo iptables-save确保将它们添加到rc.local (3认同)