WebSocket 握手期间出错:意外响应代码:503

Posted

技术标签:

【中文标题】WebSocket 握手期间出错:意外响应代码:503【英文标题】:Error during WebSocket handshake: Unexpected response code: 503 【发布时间】:2015-11-09 00:19:54 【问题描述】:

我正在尝试将 websocket rails 与 angular 和 heroku 一起使用。它正在开发中,但现在正在生产中。这是发布事件的服务器代码和侦听它的客户端。

#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;

【讨论】:

以上是关于WebSocket 握手期间出错:意外响应代码:503的主要内容,如果未能解决你的问题,请参考以下文章

WebSocket 握手期间出错:意外的响应代码:302

WebSocket 握手期间出错:意外的响应代码:200

WebSocket 握手期间出错:意外响应代码:503

WebSocket 握手期间出错:意外的响应代码:500

websocket失败:WebSocket握手期间出错:意外响应代码:400

WebSocket 握手期间出错:意外的响应代码:301