Ошибка во время рукопожатия WebSocket: неожиданный код ответа: 503

Я пытаюсь использовать рельсы для веб-розеток с угловой и герокой. Он работает в разработке, но сейчас в производстве. Вот код сервера, который публикует событие, и клиент, который его слушает.

#Server
WebsocketRails[channel_name].trigger('new_message', @json)

//Client
var dispatcher = new WebSocketRails(window.location.host + "/websocket");
var channel = dispatcher.subscribe(channel_name);
channel.bind('new_message', function(data) {
  $scope.$apply(function(){
    cr.unread_messages += 1;
  });
});

Я на SSL в производстве. Я уже пробовал настройку

force_ssl = false

в production.rb, но безрезультатно.

Я получаю ошибку:

WebSocket connection to 'wss://domain.com/websocket' failed: Error during WebSocket handshake: Unexpected response code: 503

1 ответ

Решение

У меня была такая же проблема, мое приложение находится за nginx. Проверьте мои конфиги Nginx, которые работали для меня.

location / {
  proxy_pass http://localhost:8080;
  proxy_http_version 1.1;
  proxy_set_header Upgrade $http_upgrade;
  proxy_set_header Connection "upgrade";
  proxy_set_header Host $host;
}
Другие вопросы по тегам