Client empfängt kein Ereignis von SocketIO über IIS-Knoten

8

Ich habe eine Webanwendung, die eine Socket-Verbindung mit einem NodeJS-Server herstellt, der über IIS Node gehostet wird. Die Verbindung scheint ordnungsgemäß ausgeführt zu werden, als ich einen 404-Abfragefehler auf dem Client löste, den ich ursprünglich hatte. Jetzt sieht es jedoch so aus, als ob der Client keine Socket-Ereignisse vom IIS-Knoten empfängt.

Meine Theorie ist, dass, weil der IIS-Knoten wie ein Proxy agiert, das an den Client gesendete Ereignis irgendwo auf der Ebene des IIS-Knotens endet.

%Vor%

Im Knoten wird das obige Ereignis ausgelöst, aber es wird nicht am Frontend empfangen.

Der Client sieht so aus:

%Vor%

Meine web.config-Datei sieht so aus:

%Vor%

Das alles auf meinem lokalen Rechner läuft einwandfrei. Socket-Ereignisse werden gesendet und empfangen. Das Hinzufügen eines IIS-Knotens in den Workflow scheint dort zu sein, wo er nicht mehr funktioniert. Jede Hilfe würde sehr geschätzt werden.

    
developthewebz 11.10.2017, 15:00
quelle

1 Antwort

2

Bei der Verwendung von socket.io mit Proxy-Pass müssen Sie einige Variablen wie Upgrade usw. übergeben. Ich habe nicht einmal versucht, iis zu verwenden, um socket.io zu übergeben, aber ich stieß auf ein Problem im Apache-Proxy-Pass. Daher wähle ich nginx zum Proxy-Server.

Vielleicht müssen Sie diese Art von Parametern in iis schreiben, alternativ können Sie nginx als Proxy-Pass-Server verwenden.

%Vor%     
Emre Karataşoğlu 23.10.2017 14:50
quelle