Ich habe versucht, verwaltete vm zu verwenden, um einen Web-Socket-Server über Port 3000 zu laufen, aber ich kann nur über die IP der Instanz, und nicht durch meine eigene Domain oder "appspot" -Domain verbinden .Websocket-Port auf Google verwaltet vm
Wenn ich Zugriff auf die Anwendung auf Port 80 i die richtige Antwort bekommen, dass der App auf Port aussendet 8080
meinen app.yaml:
network:
forwarded_ports:
- 3000
handlers:
- url: /.*
script: server.js
Ich ermöglichte auch den Port auf der Firewall zu 0.0.0.0/0.
Wie kann ich das beheben?
So im Moment gibt es keine Möglichkeit, Websocket über Managed VM zu verwenden, ohne den Client an bestimmte Maschine zu senden? –
Wie Sie dem Feature-Anforderungstext entnehmen können, und wie Sie selbst festgestellt haben, scheinen die Ports für die Instanz zwar geöffnet zu sein, die Frontends von appspot und benutzerdefinierten Domänen scheinen diese Ports jedoch nicht weiterzuleiten. Sie können einen schnellen Dienst implementieren, der Ihre Instanz-IPs vor der Verbindung über diese IPs abfragt, aber das einzige Problem besteht darin, dass SSL-Zertifikate bei einer Verbindung auf diese Weise wahrscheinlich nicht validiert werden (es sei denn, Sie setzen SNA-Slots für die Erweiterung Ihres Zertifikats ein Dynamische Instanz-IPs, mit denen Sie enden könnten) – Nick
Das ist alles zu sagen, ja, Sie sind im Moment richtig, obwohl ich sicher bin, dass dies vom Managed VMs-Produktteam mit Priorität bearbeitet wird, da es bereits früher auftaucht und hat bereits einen öffentlichen Issue-Tracker-Thread mit mehreren Sternen. – Nick