Ich habe meine Socket io und Node Express js Server beide auf die gleichen Ports jetzt hören. Es wird in AWS ElasticBeanStalk gehostet. Es funktioniert gut. Jetzt wegen der Sicherheitsbeschränkungen, muss Socket IO auf anderen Port verschieben. Es ist ein Teil der gleichen Code-Basis wie der Knoten js App. Kann ich einen anderen Anschluss für die Buchse io hören? Funktioniert das? Welche Änderungen muss ich in ElasticBeanStalk machen? Irgendwelche neuen Ports müssen geöffnet werden oder gibt es irgendwelche Beschränkungen in dem Port?Wie expres js und socket io verschiedene Ports zu hören
Antwort
Die docs geben Beispiele für die Verbindung über Express oder über Standardknoten HTTP. Technisch gesehen können Sie beide einfach miteinander verschmelzen und verschiedene Ports anhören.
var exApp = require('express')();
var exServer = require('http').Server(exApp);
var ioApp = require('http').createServer(handler);
var io = require('socket.io')(ioApp);
exServer.listen(80);
ioApp.listen(81);
function handler (req, res) {
res.writeHead(200).end({});
}
app.get('/', function (req, res) {
res.sendfile(__dirname + '/index.html');
});
// Then whatever you want to do with `io`, and `exApp`.
Wenn Sie localhost:80
gehen, werden Sie die Express-App bekommen serviert, und wenn Sie Socket.io Anfragen an localhost:81
senden, sollte es die io.connection()
I auslösen haben dies technisch nicht getestet, Lass es mich wissen, wenn ich wild bin und ich werde weiter darüber nachdenken.
Ich interessiere mich mehr für die Konfigurationsänderungen in Elasticbean Stiel und kann in der Nginx sein – Jocket
- 1. Meteor und Socket IO-Ports
- 2. Socket IO wer kann hören
- 3. Kann Javascript-Socket io Unix-Socke hören?
- 4. Docker (komponieren) und Socket io - wie Container zu verknüpfen
- 5. android browser und socket io
- 6. Squid - auf mehrere Ports Hören und zu anderen Proxy weiterleiten
- 7. Wie verwendet .NET IO Threads oder IO Completion Ports?
- 8. Verständnis IO Completion Ports
- 9. Beinhaltet Socket IO Disk IO?
- 10. Node.js, socket, io und HTTPS
- 11. Python: Hören Sie auf zwei Ports
- 12. eckig io highchart socket io
- 13. Laravel IO Socket und Redis über SSL https Verbindung
- 14. Reagieren js Socket io funktioniert nicht im lokalen Netzwerk wifi
- 15. Welche Ports sollte ich node.js hören? Wie und warum?
- 16. Socket IO Query Parameter
- 17. Socket IO Ereignisbehandlung IOS
- 18. Socket io clientspezifische Variable
- 19. Sailsjs Socket IO
- 20. Socket IO erneut verbinden?
- 21. Socket io Code verwirrend
- 22. Winkel-socket-io io ist nicht
- 23. Java IO, Socket-Server-Adresse
- 24. socket.broadcast.emit socket io
- 25. Socket-IO mit ReactNative
- 26. Flask Socket-IO-Valueerror
- 27. Socket io Broadcast, Räume und Quittierungsfunktion
- 28. Android Socket Io und asp.net Server
- 29. ReactJS Socket io anderer Benutzer nicht Socket
- 30. Socket io mit nodejs benutzerdefinierten Socket-IDs
Welche Sicherheitseinschränkungen verursachen, dass Sie socket.io an einen anderen Port als Ihren Webserver verschieben müssen? Normalerweise Sicherheitseinschränkungen LIKE beide auf dem gleichen Port sein. Das ist der ganze Grund, warum websocket/socket.io einen Port mit einem HTTP-Server teilen sollte. – jfriend00
Socket io wird nur für die Veröffentlichung von Ereignissen verwendet. Es muss also nicht in unserem Anwendungsfall gesichert werden. Unsere Knoten-App ist vollständig gesichert und benötigt ein Autorisierungs-Bearer-Token. Und der Port, auf dem der Knoten arbeitet, ist nur dem API-Manager zugänglich. So sollte der Socket IO in einem anderen Port sein, um API Manager zu umgehen – Jocket
Sie können auf einen anderen Port für socket.io in Ihrer node.js App natürlich genau hören. Bei einer normalen socket.io-Verbindung (die Standardverbindung, die mit einigen Abfrageanforderungen beginnt) müssen Sie möglicherweise auch CORS aktivieren, wenn die Verbindung über einen Browser hergestellt wird, sodass der Browser die Verbindung zu einem anderen Anschluss erlaubt die Webseite. Oder Sie können den socket.io-Client ändern, um sofort mit webSocket zu starten, das nicht von CORS eingeschränkt wird. Ich kann nicht helfen, was AWS Änderungen benötigt, um einen neuen Port zu verwenden. – jfriend00