Ошибка во время рукопожатия WebSocket: неожиданный код ответа: 400 на бесплатном сервере стека OpenShift MEAN

Я работаю над поисковым веб-приложением Twitter http://twitter.batak.tk/, и локально все работает нормально но когда я развертываю его на стековом сервере OPENSHIFT MEAN (бесплатно), я получаю эту ошибку:

WebSocket connection to 'ws://nodejs-igrica.rhcloud.com/socket.io/?EIO=3&transport=websocket&sid=Wtvf6VI-9QqTvICUAAAI' failed: Error during WebSocket handshake: Unexpected response code: 400

twitter.batak.tk - это просто псевдоним для nodejs-igrica.rhcloud.com.

Это мой служебный код сокета:

app.
factory('SearchService', ['socketFactory', function(socketFactory) {
        var myIoSocket = io.connect('http://nodejs-igrica.rhcloud.com/:8000', {'forceNew':true });

        mySocket = socketFactory({
            ioSocket: myIoSocket
        });

        return mySocket;
}]);

и это server.js: https://github.com/isBatak/twitter_search_web_app/blob/master/server.js

Я застрял с этим ...


person isBatak    schedule 25.05.2015    source источник
comment
Возможный дубликат Socket.io Рукопожатие не удается на сайте, но не на localhost   -  person Nathan Tuggy    schedule 28.10.2015


Ответы (2)


Проблема возникла из Openshift. Вы должны указать сокеты портов, которые собираетесь использовать. Просто пришлось написать:

var ioSocket = io.connect('http://my-site.rhcloud.com:8000');

Вы должны использовать порт 8000. Источник: вопрос / ответ, такая же проблема, как и у вас

Дополнительно

Вы должны использовать поддомен для доступа к вашему приложению openshift. Например, используйте:

http://node.yourdomain.com:8000

Вместо того

http://my-site.rhcloud.com:8000

Помните, что вы должны настроить псевдоним для своего оборудования в OpenShift, чтобы его правильно перенаправили.

person Oswaldo Rodriguez Gonzalez    schedule 27.10.2015
comment
Если немного больше ответов, вы сможете отмечать повторяющиеся вопросы, подобные этому. До тех пор публикация ссылок в качестве ответов не совсем идеальна, и, как правило, они будут удалены. - person Nathan Tuggy; 28.10.2015

Привет, вы пробовали свой сервер с помощью эхо-службы websocket.org?

person camillo777    schedule 01.06.2015