2016-01-08 4 views
0

Я пытаюсь создать небольшое приложение для чата с помощью express и nodejs поверх https. Проблема в том, что он не подключается к любому порту, отличному от 3000. Когда я создаю сервер, он начинает прослушивать, но он не подключается с клиентской стороны. Я пробовал все возможные решения, найденные через Интернет, но все напрасно. Если кто-то может воспроизвести проблему. Будет большой помощью. Он отлично работает на порт 3000. Но в идеале я должен заставить его работать на 443, но сейчас он не работает на любом порт, кроме 3000.nodejs не подключается к другому порту

стороны сервера:

var fs = require('fs'); 
//var http = require('http'); 
var https = require('https'); 
var privateKey = fs.readFileSync('server.key', 'utf8'); 
var certificate = fs.readFileSync('server.crt', 'utf8'); 

var credentials = {key: privateKey, cert: certificate}; 
var express = require('express'); 
var app = express(); 
app.use(function(req, res, next) { 
     res.header("Access-Control-Allow-Origin", "*"); 
     res.header("Access-Control-Allow-Headers", "X-Requested-With"); 
     res.header("Access-Control-Allow-Headers", "Content-Type"); 
     res.header("Access-Control-Allow-Methods", "PUT, GET, POST, DELETE, OPTIONS"); 
     next(); 
    }); 
/*app.get('/', function (req, res) { 
    res.sendFile(__dirname + '/app.php'); 
    }); 
*/ 
// your express configuration here 

//var httpServer = http.createServer(app); 
var httpsServer = https.createServer(credentials, app); 


var io = require('socket.io')(httpsServer); 
//httpServer.listen(3001); 
httpsServer.listen(3001,function(){ 
           console.log('Listening'); 
           }); 
httpsServer.on('listening', function() { 
    console.log('Express server started on port %s at %s', httpsServer.address().port, httpsServer.address().address); 
}); 

стороны клиента:

<script src="./jquery.min.js"></script> 
<script src="./socket.io.js"></script> 

<script> 
    var socket = io.connect('//192.168.14.85:3001'); 
+0

Вам нужен root-доступ для портов 80 и 443. 'sudo node server.js' –

+0

Я работаю над окнами. Запустив его через вечный модуль и командную строку –

+0

, вам может потребоваться повышенный доступ к cmd, 'Win + X', а затем' A', а на рабочем столе –

ответ

0

Это было потому, что сервер, который я пытался запустить, позволял использовать только порт 80 и порт 443, и для обоих из них требуется root-доступ.

Смежные вопросы