admin管理员组文章数量:1292349
I've got a socket application that I'm trying to make listen on port 443 (https). If I change the port (to e.g. 8080) I get no problems.
The error shown is
error raised: Error: listen EACCES
My app source code is:
var fs = require('fs');
// create the https server and listen on port
var options = {
ca: fs.readFileSync('ca.pem'),
cert: fs.readFileSync('cert.pem'),
key: fs.readFileSync('server.key')
};
var server = require('https').createServer(options);
var portNo = 443;
var app = server.listen(portNo, function() {
console.log((new Date()) + " Server is listening on port " + portNo);
});
// create the socket server on the port
var io = require('socket.io').listen(app);
// This callback function is called every time a socket
// tries to connect to the server
io.sockets.on('connection', function (socket) {
console.log((new Date()) + ' Connection established.');
// When a user send a SDP message
// broadcast to all users in the room
socket.on('message', function (message) {
socket.broadcast.emit('message', message);
});
// When the user hangs up
// broadcast bye signal to all users in the room
socket.on('disconnect', function () {
// close user connection
console.log((new Date()) + " Peer disconnected.");
socket.broadcast.emit('user disconnected');
});
});
I've seen plenty of answers relating to Linux telling them to run as sudo so I tried running the node server as administrator but to no avail.
This is running on a Windows Server 2012 box.
Thanks.
I've got a socket application that I'm trying to make listen on port 443 (https). If I change the port (to e.g. 8080) I get no problems.
The error shown is
error raised: Error: listen EACCES
My app source code is:
var fs = require('fs');
// create the https server and listen on port
var options = {
ca: fs.readFileSync('ca.pem'),
cert: fs.readFileSync('cert.pem'),
key: fs.readFileSync('server.key')
};
var server = require('https').createServer(options);
var portNo = 443;
var app = server.listen(portNo, function() {
console.log((new Date()) + " Server is listening on port " + portNo);
});
// create the socket server on the port
var io = require('socket.io').listen(app);
// This callback function is called every time a socket
// tries to connect to the server
io.sockets.on('connection', function (socket) {
console.log((new Date()) + ' Connection established.');
// When a user send a SDP message
// broadcast to all users in the room
socket.on('message', function (message) {
socket.broadcast.emit('message', message);
});
// When the user hangs up
// broadcast bye signal to all users in the room
socket.on('disconnect', function () {
// close user connection
console.log((new Date()) + " Peer disconnected.");
socket.broadcast.emit('user disconnected');
});
});
I've seen plenty of answers relating to Linux telling them to run as sudo so I tried running the node server as administrator but to no avail.
This is running on a Windows Server 2012 box.
Thanks.
Share Improve this question asked May 15, 2013 at 17:49 rashleighprashleighp 1,2261 gold badge13 silver badges21 bronze badges2 Answers
Reset to default 8I would just like to add that if you do not have root permission level when you start your node app you will not be able to run on port 443
Have you verified that port 443 isn't already being used?
Go to your mand line and run netstat -a
and verify that :443 is not already in the list. If it is you'll need to terminate whatever process is using that port before proceeding.
本文标签: javascriptCannot run node js app listening on 443Stack Overflow
版权声明:本文标题:javascript - Cannot run node js app listening on 443 - Stack Overflow 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/web/1741555197a2385112.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论