2015-05-25 3 views
0

Я работаю над поисковым веб-приложением twitter http://twitter.batak.tk/ и локально все работает нормально, но когда я его развертываю на OPENHIFT MEAN стековый сервер (бесплатно) Я получаю эту ошибку:Ошибка во время рукопожатия WebSocket: Неожиданный код ответа: 400 на бесплатном сервере стека 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

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

+0

Возможный дубликат [Socket.io Handshake не работает на сайте, но не на локальном хосте] (http://stackoverflow.com/questions/26993447/socket-io-handshake-fails-on-site-but-not-on- localhost) –

ответ

1

Привет вы попробовать ваш сервер, используя службу ess.com.org?

4

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

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

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

Extra

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

http://node.yourdomain.com:8000 

Вместо

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

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

+0

С немного больше rep, [вы сможете указать такие повторяющиеся вопросы] (http://stackoverflow.com/privileges/comment). До тех пор публикация ссылок в качестве ответов на самом деле не идеальна, и их обычно удаляют. –