Я создал сертификат SSL с openssl на debian 8 VM. Поэтому у меня есть один файл PEM, содержащий мой ключ и мой сертификат.Безопасные обмены с использованием только socket-io и веб-клиента (socket io js)
Я хотел бы знать, можно ли использовать сертификат SSL без https, express и т. Д., Просто используя архитектуру с сокетами ввода-вывода IO (на стороне сервера) и сокетов IO (клиентская сторона).
сторона сервера:
var fs = require("fs")
, options = {
key : fs.readFileSync('./test/apache.pem'),
cert : fs.readFileSync('./test/apache.pem')
}
var io = require('socket.io').listen(45621, options)
io.sockets.on("connection", function(socket) {
console.log("socket " + socket.id + " connected !")
})
стороны клиента: (Я использую простой HTML-клиент)
<script src="http://code.jquery.com/jquery-latest.min.js"></script>
<script src="socket-io-1-2-1.js"></script>
<script>
var socket = io.connect('https://localhost:45621', {secure: true})
socket.on("connect", function() { alert("we are connected to socket io!") })
</script>
Когда я бег моей страницы клиента, я автоматически получать соединение близко. (Нетто :: ERR_CONNECTION_CLOSED)
Это работает, если я удалить параметры SSL в стороне сервера и изменить клиентское соединение с:
io.connect("http://localhost:45621")
но обмены не являются безопасными?
Редактировать: Не является дубликатом this, потому что я не хочу использовать http, https, express by createServer. Я использую только сокет io.
Длинный выстрел, но как насчет 'wss: // localhost: 45621'? – zero298
Такая же ошибка, я получаю силовое замыкание –
Возможный дубликат [Настройка SSL-соединения с сервером-сервером с использованием socket.io в node.js] (http: // stackoverflow.com/questions/21651133/setup-server-server-ssl-communication-use-socket-io-in-node-js) –