【发布时间】:2014-03-29 01:08:20
【问题描述】:
我有一个包含 Node.js、Express.js 和 Socket.io 的应用程序,可以使用除 443 以外的任何端口正常运行。服务器只能通过 HTTPS 端口 443 运行,同样,websocket 也应该加密.
CODE THAT WORKS
var fs = require('fs');
var https = require('https');
var express = require('express');
var socket = require('socket.io');
var sslOptions = {
key: fs.readFileSync(__dirname + '/../ssl/server.key,
cert: fs.readFileSync(__dirname + '/../ssl/server.pem,
ciphers: 'ECDHE-RSA-AES256-SHA:AES256-SHA:RC4-SHA:RC4:HIGH:!MD5:!aNULL:!EDH:!AESGCM',
honorCipherOrder: true
};
var app = express();
var server = https.createServer(sslOptions, app);
var io = socket.listen(server, {
"log level" : 3,
"match origin protocol" : true,
"transports" : ['websocket']
});
server.listen(8443);
当我将端口(最后一行)更改为 443 时,Node 服务器立即崩溃并出现错误:
warn: error raised: Error: listen EADDRINUSE
【问题讨论】:
-
表示443正在被其他进程使用
标签: node.js express https socket.io wss