2013-05-31 2 views
2

У меня есть сервер Apache, работающий с включенным SSL. Теперь я сделал небольшой чат, который использует node.js и socket.io для передачи данных. Использование порта 8080 на одном защищенном соединении работает нормально, но когда я пытаюсь использовать его в защищенном SSL-домене, он не работает. Я не понимаю, как должна работать вся настройка, поскольку SSL работает только через порт 443. Apache уже просматривает порт 443. На каком порту должен воспроизводиться socket.io?node.js, socket.io и SSL

+1

Возможный дубликат http://stackoverflow.com/questions/6599470/node-js-socket-io -with-ssl – Fallexe

+0

@Fallexe не очень. Он использует node.js без Apache. В моем случае Apache уже использует порт 443 – Aley

+0

Я никогда не пытался запускать Apache и сокет на том же порту, но вот что-то подобное без ssl http://stackoverflow.com/questions/11172351/how-to- Пут-nodejs-и-апаш-в-же порт-80 – Fallexe

ответ

3

Я должен был установить SSL сертификаты, как

var fs = require('fs'); 

var options = { 
    key: fs.readFileSync('/etc/ssl/ebscerts/wildcard.my_example.com.no_pass.key'), 
    cert: fs.readFileSync('/etc/ssl/ebscerts/wildcard.my_example.com.crt'), 
    ca: fs.readFileSync('/etc/ssl/ebscerts/bundle.crt') 
}; 

var app = require('https').createServer(options), 
    io = require('socket.io').listen(app); 

app.listen(8080); 

Я нашел решение на github

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