ManagedVM中的普通Web服务器可以侦听0.0.0.0:8080
并正确处理通过GAE URL发送的请求:http://xx.appspot.com:80
而不是普通的网络服务器,尝试提供websocket连接,事情不再有效。连接时不再处理任何连接:ws://xx.appspot.com:80
这个(http://stackoverflow.com/questions/27827752/websocket-support-in-managed-vm)SO主题建议将端口8080
从GCE网络设置暴露到Internet并直接使用GCE实例的IP。这确实有效,但随着每次新部署的IP更改而无效。
如果这确实是要走的路,那么任何地方都没有记录。我见过的唯一线索是Google员工还使用IP发现连接到托管websocket服务器的正确GCE实例:https://github.com/proppy/cacophon/blob/master/frontend/api/controllers/DiscoveryController.js
我希望有一个正确的解决方案,不要求我使用内省来收集托管websocket服务器的VM实例的IP。
关于Google issue tracker,自从这个线程在两年多前开放以来,我想和你联系,如果你仍然希望修复/ FR关于Flex上的WebSocket服务器没有通过GAE ULR正确暴露?
要获得更多更新,您可以查看Google issue tracker