Как запустить NODE.JS (Socket.io) - CENTOS 7 с доменом SSL? - PullRequest
0 голосов
/ 07 ноября 2019

Мой проект socket.io "xampp" отлично работает для localhost.

У меня есть сервер Centos 7 (cPanel). Я сделал все, когда я бросил файлы на свой сервер. Я написал команду "nodemon server.js", и сервер работает. Но у меня проблемы с клиентом, связанные с SSL.

На моем сайте есть SSL. Я использую CloudFlare. По этой причине клиент не может связаться с сервером .

Мой проект работает, когда я отключаю SSL.

Как работает Socket.io работа с SSL ?

CLOUDFLARE : enter image description here

КОНСОЛЬ ХРОМАLOG: enter image description here

КОД клиента:

var socket = io.connect('https://example.com:1347');

Server.js КОД

var server     = require('https').createServer(),
    io         = require('socket.io')(server),
    port       = 1337;

server.listen(port);

1 Ответ

0 голосов
/ 08 ноября 2019

Во-первых, если вы используете CloudFlare. Вы должны знать порты SSL.

HTTPS-порты, поддерживаемые Cloudflare:

443 2053 2083 2087 2096 8443

Использовать, что угодноПорт на вашем сервере пуст. Рекомендуется: (8443)

Подключитесь к вашему серверу с помощью PUTTY. Затем найдите каталог домена на вашем сервере. Если вы используете cpanel. Следуйте по этой дороге.

cd /home/domainname/public_html

Вы попадете в домашний каталог сайта.

Затем необходимо создать необходимые файлы для SSL на сервере. Введите ниже отдельные команды.

openssl genrsa -out privatekey.pem 2048 
openssl req -new -key privatekey.pem -out certrequest.csr 
openssl x509 -req -in certrequest.csr -signkey privatekey.pem -out certificate.pem

КОД клиента:

var socket = io.connect('https://example.com:8443', {secure: true});

КОД Server.js

var fs = require('fs');

var https = require('https');
var options = {
  key: fs.readFileSync('privatekey.pem'),
  cert: fs.readFileSync('certificate.pem')
};
var server = https.createServer(options);
var io  = require('socket.io').listen(server);
var port = 8443; // Enter any of the cloudflare ports.


server.listen(port, function(){
  console.log('listening : ' + port);
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...