Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » jQuery » Как подключить https на node.js(socket.io)?

Как подключить https на node.js(socket.io)?


     15.08.2018    node, socket.io, SSL-сертификат, https    Все вопросы » jQuery    1910

вопрос
Всем привет! Возникла необходимость перехода с http на https. То что процедура сама по себе громоздкая, в том случае когда сайт на http проработал долгое время и собрал в БД много ссылок - я знал и решался из-за этого очень долго переходить. Но тот факт,что https может стать обязательным атрибутом работающего сайта, просто заставило подготовиться к этому заранее. Заказал, сгенерировал сертификат и приватный ключ без проблем. Установил на сервер (Nginx+Apache). Подключил в панели ISPmanager. Проблем особо не возникло. Но перейдя на сайт, стал проверять работоспособность, так как проделывать огромную работу по конвертации ссылок без уверенности,что остальные функции работают - не хотелось. И в этот момент возникла первая и серьёзная трудность. (по началу думал - та дело 5 минут...но 5 минут затянулись на пару дней). У меня есть на сайте node.js. Который запускается и работает демоном на сайте. Есть файл который его запускает с настройками
var PORT = 8282; //цифры порта для примера, в реале они отличимы
var options = {

};
var express = require('express');
var app = express();
var http = require('http');
var server = http.createServer(app);
var io = require('socket.io').listen(server, options);
server.listen(PORT);
app.use('/static', express.static(__dirname + '/static'));
var mysql = require('mysql');
var mysqlPool = mysql.createPool({
  host     : 'localhost',
  user     : 'user',
  password : 'user',
  database : 'user'
});
io.sockets.on('connection', function (client) {

Часть кода которую необходимо было сменить я сменил

var https = require('https');
var server = https.createServer(app);

Но при переходе на сайте в консоль браузера отображается что soket.io не получилось загрузить. Прохожу по адресу https://site.com:8282/socket.io/socket.io.js , и мне выдается ошибка сертификата или шрифта, сертификат клиента и сервера имеют разные версии(что-то типо такого). Я так понял надо было загрузить путь сертификатам. И тут началось - я уже указывал пути в папке node_modules везде где возможно(данная папка лежит с файлами и папками сайта). Указывал путь к сертификату и в начальном коде в var options, но после этого https://site.com:8282/socket.io/socket.io.js вообще переставал открываться.
Помогите разобраться, куда и где прописывать путь к сертификату на сайте. Сертификаты у меня в формате .key и .crt

Ответа пока нет


Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы

наверх