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.
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%