J'ai un serveur de production entièrement fonctionnel avec la configuration suivante: NodeJS configuré avec Nginx et SSL sur le port 3000. ExpressJS comme avant.Problème de connexion de socket avec un serveur (ExpressJS + Nodejs + Nginx + SSL)
Maintenant, j'essaie d'ajouter un travail de socket à l'intérieur. J'ai créé un nouveau fichier appelé server.js avec le code suivant:
var net = require('net');
var HOST = '127.0.0.1';
var PORT = 6969;
net.createServer(function(sock) {
// We have a connection - a socket object is assigned to the connection automatically
console.log('CONNECTED: ' + sock.remoteAddress +':'+ sock.remotePort);
// Add a 'data' event handler to this instance of socket
sock.on('data', function(data) {
console.log('DATA ' + sock.remoteAddress + ': ' + data);
// Write the data back to the socket, the client will receive it as data from the server
sock.write('You said "' + data + '"');
});
// Add a 'close' event handler to this instance of socket
sock.on('close', function(data) {
console.log('CLOSED: ' + sock.remoteAddress +' '+ sock.remotePort);
});
sock.on('error', function(err) {
console.log(err)
})
}).listen(PORT, HOST);
console.log('Server listening on ' + HOST +':'+ PORT);
J'ai ajouté cette ligne dans mon fichier app.js:
require('./app/server');
Maintenant, quand je démarre le serveur, il impression comme prévu la ligne: "socket server écoute sur 127.0.0.1:6969" et "NodeJS serveur de production écoute sur le port 3000"
maintenant, lorsque je tente d'atteindre le serveur socket avec:
netcat [destination] 6969
Cela ne fonctionne pas. Mais quand je l'ai essayé sur mon serveur de développement localhost qui n'a pas de SSL et Nginx cela a fonctionné.
Je dois probablement ajouter une configuration Nginx ou une connexion sécurisée pour voir le socket mais je n'ai trouvé aucun indice en ligne.
S'il vous plaît toute aide sera appréciée!