Обычный веб-сервер в управляемой виртуальной машине может прослушивать 0.0.0.0:8080
и правильно обслуживать запросы, отправленные через URL-адрес GAE: http://xx.appspot.com:80
Вместо обычного веб-сервера попробуйте обслуживать соединения через веб-сокеты, и все больше не будет работать. Соединение больше не обрабатывается при подключении: ws://xx.appspot.com:80
Это (http://stackoverflow.com/questions/27827752/websocket-support-in-managed-vm) В разделе SO предлагается открыть порт 8080
для Интернета из сетевых настроек GCE и напрямую использовать IP-адрес экземпляра GCE. Это действительно работает, но бесполезно, поскольку IP-адрес меняется при каждом новом развертывании.
Если это действительно так, то это нигде не задокументировано. Единственная подсказка, которую я видел, заключается в том, что сотрудник Google также использует обнаружение IP-адресов для подключения к нужному экземпляру GCE, на котором размещен сервер веб-сокетов: https://github.com/proppy/cacophon/blob/master/интерфейс/api/controllers/DiscoveryController.js
Я надеюсь на правильное исправление, которое не требует от меня самоанализа для сбора IP-адресов экземпляров виртуальных машин, на которых размещены серверы веб-сокетов.